Laravel zapewnia różne wbudowane tagi dzięki, którym mozna łatwo i bezpiecznie obsługiwać formularze HTML. Wszystkie główne elementy HTML są generowane przy użyciu laravel. Aby to wykonać musimy dodać pakiet HTML do laravel za pomocą kompozytora.


Aby to wykonać uzyjemy nastepjacej komendy w kompozytorze:

composer require illuminate/html

Kolejnym kroekim jest dodanie pakietu do pliku konfiguracyjnego laravel który jest przechowywywany w config / app.php. Otwórz ten plik oraz dodaj w sekcji: Laravel Framework Service Providers:

Illuminate\Html\HtmlServiceProvider::class,

oraz w sekcji aliases

'Form' => Illuminate\Html\formFacade::class,

'Html' => Illuminate\Html\htmlFacade::class,

Gotowe teraz możemy przystapić do korzystania formularzy w Laravel 5

Otwieranie Formularza

{{ Form::open(array('url' => 'foo/bar')) }}
   //
{{ Form::close() }}

Generowanie elementu

echo Form::label('email', 'E-Mail Address');

Określanie wartości domyślnej

echo Form::text('email', 'example@gmail.com');

Generowanie pola z haslem

echo Form::password('password');

Generowanie pola checkbox lub radio

echo Form::checkbox('name', 'value');
echo Form::radio('name', 'value');

Generowanie pola wyboru lub radio, które jest sprawdzane

echo Form::checkbox('name', 'value', true);
echo Form::radio('name', 'value', true);

Rozwijana lista

echo Form::select('size', array('L' => 'Large', 'S' => 'Small'));

Przycisk submit

echo Form::submit('Click Me!');

Praktyczny przykład

Skopiuj poniższy kod, aby utworzyć widok o nazwie sources/views/form.php

<html>
   <body>
      
      <?php
         echo Form::open(array('url' => 'foo/bar'));
            echo Form::text('username','Username');
            echo '<br/>';
            
            echo Form::text('email', 'example@gmail.com');
            echo '<br/>';
     
            echo Form::password('password');
            echo '<br/>';
            
            echo Form::checkbox('name', 'value');
            echo '<br/>';
            
            echo Form::radio('name', 'value');
            echo '<br/>';
            
            echo Form::file('image');
            echo '<br/>';
            
            echo Form::select('size', array('L' => 'Large', 'S' => 'Small'));
            echo '<br/>';
            
            echo Form::submit('Click Me!');
         echo Form::close();
      ?>
   
   </body>
</html>

Dodaj linię w app/HTTP/routes.php

Route::get('/form',function(){
   return view('form');
});

Wpisz adres w przeglądarce: http://localhost:8000/form, powinien ukazać się gotowy formularz.


2016-12-27 12:59:32 Presented by Martin S