Problem
You want to create a form input field.
Instead of writing HTML directory you want to use Laravel’s Form facade.
Solution
Use the Form::input()
method.
The method takes 4 arguments.
$type – (required) The first argument specifies the type of input. Values such as “text”, “password”, “file”, etc. are accepted.
$name – (required) The second argument is name.
$value – (optional) The third argument is the value for the input field.
$options – (optional) The fourth argument is an array of additional field attributes. The array can be populated with items having keys such as “id”, “size”, or “class”.
Usually, this is used in a Blade template.
{{ Form::input('email', 'email_address', null, ['class' => 'emailfld']) }}
Discussion
Use the specific method for the type of field you want.
Instead of calling Form::input() directly, use one of the following:
Form::password() – Creating a Password Input Field.
Form::text() – Creating a Text Input Field.
Form::hidden() – Creating a Hidden Input Field.
Form::email() – Creating an Email Input Field.
Form::url() – Creating a URL Input Field.
Form::file() – Creating a File Input Field.
Model binding
See the Creating a New Model Based Form recipe for details on how the input value is overridden if you bind a model to the form.