2017 © Pedro Peláez
 

library form-builder

An Object Oriented form builder that extracts form presentation from form creation. Based on Flyn San's Form Builder.

image

iyoworks/form-builder

An Object Oriented form builder that extracts form presentation from form creation. Based on Flyn San's Form Builder.

  • Thursday, January 15, 2015
  • by iyoworks
  • Repository
  • 1 Watchers
  • 2 Stars
  • 163 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 4 Forks
  • 0 Open issues
  • 7 Versions
  • 0 % Grown

The README.md

Laravel Form Builder

A simple and intuitive form builder

Based on https://github.com/Flynsarmy/laravel-form-builder, (*1)

Installation

Require this package in your composer.json and run composer update (or run composer require iyoworks/form-builder:1.0.* directly):, (*2)

"iyoworks/form-builder": "1.0.*"

After updating composer, add the ServiceProvider to the providers array in app/config/app.php, (*3)

'Iyoworks\FormBuilder\FormBuilderServiceProvider',

and optionally the Facade to the aliases array in the same file. This will allow for global callbacks (more on that later)., (*4)

'FormBuilder'     => 'Iyoworks\FormBuilder\Facades\FormBuilder',

Usage

Add/Edit/Delete Fields

Create a form, add fields, render., (*5)

$form = FormBuilder::form();
$form->action('UserController@create')
//$form->add[FieldType]([field_slug] [, Field Label]);
$form->addText('first_name', 'First Name');
$form->addSelect('gender')->options(['male'=>'Male', 'female'=>'Female', 'none'=>'Not Telling']);

$form->render();

Need to edit or remove a field?, (*6)

// Set field with id 'gender' to have 3 options instead of 2.
$form->getField('gender')->options(['m'=>'Male', 'f'=>'Female', 'n'=>'Not Telling']);

// Remove the gender field
$form->remove('gender');

Add fields exactly where you want them, (*7)

// Add last name after first name
$form->addAfter('first_name', 'last_name', 'text');
$form->addTextAfterFirstName('last_name');
$form->addBefore('last_name', 'first_name', 'text');
$form->addTextAfterLastName('first_name');

Closures are also supported, (*8)

use Iyoworks\FormBuilder\Form;
use Iyoworks\FormBuilder\Field;
// Closure support for FormBuilder
$form = FormBuilder::form(function(Form $form) {
    $form->url('users/create');
    $form->addText('first_name');
    $form->addSelect('gender'->options(['M'=>'Male', 'F'=>'Female']);
})->html();
echo $form->open(), $form->render(), $form->close();
# the same as
echo $form->html();

Field settings

You can add fields to rows, (*9)

$form->addRow(function($form){
    $form->addText('first_name', 'First Name')
        ->label('First Name')
        ->description('Enter your first name')
        ->columns(12);
    $form->addText('last_name', 'Last Name')
        ->label('First Name')
        ->description('Enter your last name')
        ->columns(12);
});
$form->addEmail('email', 'Email Address')
$form->addSubmit('Submit')->addClass('btn btn-block btn-primary');

Callbacks

Callbacks can be used to render your form exactly the way you want it to look., (*10)

Supported callbacks include:, (*11)

beforeForm(Form $form)
afterForm(Form $form)
beforeField(Form $form, Field $field)
afterField(Form $form, Field $field)

They can be used on a per-form basis, (*12)

// Per-form Callbacks
$form->beforeField(function(Form $form, Field $field) {
    // Use field settings to display your form nicely
    return '<label>' . $field->label . '</label>';
});

or using the optional facade, a global basis, (*13)

// Global form callbacks
FormBuilder::bind('beforeField', function(Form $form, Field $field) {
        return '

'; }) ->bind('afterField', function(Form $form, Field $field) { $output = ''; if ( $field->description ) $output .= '

' . $field->description . ', (*14)

'; return $output . '
'; }); $form = FormBuilder::form(function(Form $form) { $form->route('user.create'); $form->addText('first_name', 'First Name'); $form->addText('last_name')->label('Last Name'); }); echo $form->model($model)->html();

License

Laravel Form Builder is open-sourced software licensed under the MIT license, (*15)

The Versions

15/01 2015

dev-master

9999999-dev

An Object Oriented form builder that extracts form presentation from form creation. Based on Flyn San's Form Builder.

  Sources   Download

MIT

The Requires

 

laravel form builder

15/01 2015

v1.0.4

1.0.4.0

An Object Oriented form builder that extracts form presentation from form creation. Based on Flyn San's Form Builder.

  Sources   Download

MIT

The Requires

 

laravel form builder

14/01 2015

v1.0.3

1.0.3.0

An Object Oriented form builder that extracts form presentation from form creation. Based on Flyn San's Form Builder.

  Sources   Download

MIT

The Requires

 

laravel form builder

24/05 2014

1.0.2

1.0.2.0

An Object Oriented form builder that extracts form presentation from form creation. Based on Flyn San's Form Builder.

  Sources   Download

MIT

The Requires

 

laravel form builder

23/05 2014

1.0.1

1.0.1.0

An Object Oriented form builder that extracts form presentation from form creation. Based on Flyn San's Form Builder.

  Sources   Download

MIT

The Requires

 

laravel form builder

14/05 2014

dev-develop

dev-develop

An Object Oriented form builder that extracts form presentation from form creation. Based on Flyn San's Form Builder.

  Sources   Download

MIT

The Requires

 

The Development Requires

laravel form builder

28/04 2014

1.0.0

1.0.0.0

A flexible form builder which utilizes Laravel's Form facade.

  Sources   Download

MIT

The Requires

 

The Development Requires

laravel form builder