luthfi/formfield

Laravel Form Field the extension of Laravelcollective Form for Laravel 5.3 and newer with Twitter Bootstrap 4.


README

StyleCI Build Status Total Downloads

This package is the extension of Laravelcollective Form for Laravel 5 and newer with Twitter Bootstrap 3, 4 and 5 form fields wrapper.

How to install

For Bootstrap 5

If you are using Bootstrap 5, please use 3.* version instead:

composer require luthfi/formfield 3.*
For Bootstrap 4

If you are using Bootstrap 4, please use 2.* version instead:

composer require luthfi/formfield 2.*
For Bootstrap 3

If you are using Bootstrap 3, please use 1.* version instead:

composer require luthfi/formfield 1.*

Install this package through Composer. Run following from terminal:

composer require luthfi/formfield
For laravel 5.5 and newer

this package will auto discovered

For laravel 5.3 and 5.4

Update config/app.php, add provider and aliases :

// providers
Luthfi\FormField\FormFieldServiceProvider::class,

// aliases
'FormField' => Luthfi\FormField\FormFieldFacade::class,
'Form'      => Collective\Html\FormFacade::class,
'Html'      => Collective\Html\HtmlFacade::class,

How to use

In your blade file, use this following sintax :

{!! FormField::text('name') !!}

will produce:

<div class="form-group ">
    <label for="name" class="control-label">Name</label>
    <input class="form-control" name="name" id="name" type="text">
</div>

Or other example for Checkbox and Radios. We can use numeric array or associative array for Labels and Values :

{!! FormField::checkboxes('group', [1 => 'Admin', 'Member']) !!}
{!! FormField::radios('status', ['a' => 'Active', 'b' => 'Inactive']) !!}

And they will produce :

<!-- Checkboxes -->
<div class="form-group ">
    <label for="group" class="control-label">Group</label>
    <div>
        <div class="form-check form-check-inline">
            <input id="group_1" class="form-check-input" name="group[]" value="1" type="checkbox">
            <label for="group_1" class="form-check-label">Admin</label>
        </div>
        <div class="form-check form-check-inline">
            <input id="group_2" class="form-check-input" name="group[]" value="2" type="checkbox">
            <label for="group_2" class="form-check-label">Member</label>
        </div>
    </div>
</div>

<!-- Radios -->
<div class="form-group ">
    <label for="status" class="control-label">Status</label>
    <div>
        <div class="form-check form-check-inline">
            <input id="status_a" class="form-check-input" name="status" value="a" type="radio">
            <label for="status_a" class="form-check-label">Active</label>
        </div>
        <div class="form-check form-check-inline">
            <input id="status_b" class="form-check-input" name="status" value="b" type="radio">
            <label for="status_b" class="form-check-label">Inactive</label>
        </div>
    </div>
</div>

Avaliable Form Fields

{!! FormField::open($options) !!}
{!! FormField::text('name') !!}
{!! FormField::textarea('field_name') !!}
{!! FormField::select('field_name', $options) !!}
{!! FormField::multiSelect('field_name', $options) !!}
{!! FormField::email('email_field') !!}
{!! FormField::password('password_field') !!}
{!! FormField::radios('status', ['a' => 'Active', 'b' => 'Inactive']) !!}
{!! FormField::checkboxes('group', [1 => 'Admin', 'Member']) !!}
{!! FormField::textDisplay('label', 'value_to_display') !!}
{!! FormField::file('file_field') !!}
{!! FormField::price('price_field') !!}
{!! FormField::close() !!}