luthfi/formfield

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

3.0.1 2023-10-17 14:04 UTC

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() !!}