2017 © Pedro Peláez
 

library modelform

Easily create forms, validate and filter data.

image

w5n/modelform

Easily create forms, validate and filter data.

  • Friday, June 20, 2014
  • by waldson
  • Repository
  • 2 Watchers
  • 0 Stars
  • 7 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

ModelForm

Easily create forms, validate and filter data., (*1)

Greatly inspired by the awesome Respect/Validation package., (*2)

PS: not ready for production yet., (*3)

Installation (via Composer)

"require" : {
    "w5n/modelform" : "dev-master"
}

Usage

Create a Model

Let's create a model first:, (*4)

<?php
use W5n\DefaultModel;

class ModelFoo extends DefaultModel
{
    public function __construct()
    {
        $this->text('name', 'Nome', true);
        $this->date('birth_date')->required()->pastDate();
        $this->text('token')->filter('sha1');            
    }
}

Now that we have our validation model, we can assign values to it:, (*5)

<?php
//...
$m = ModelFoo::create()->populate(
    array(
        'name'       => 'Waldson',
        'birth_date' => '19/05/1989',
        'token'      => 't0k3n'
    )
); 
//or $m = ModelFoo::create()->populate($_POST);

or..., (*6)

<?php
//...
$m = new ModelFoo();
$m->name       = 'Waldson';
$m->birth_date = '19/05/1989';
$m->token      = 't0k3n';

Model's useful methods

$b->validate(); //true

$b->name = '';
$b->validate(); //false

$b->getValues();
/*
*Array
*(
*    [name] => Waldson
*    [birth_date] => 1989-05-19
*    [token] => 91ba11729e0504813d3fa2ea146c360807aeeee0
*)
*/

soon..., (*7)

Form

You can use your model to render your form easily (unlike most 'easy forms' packages out there):, (*8)

<?php
use W5n\Form\ModelForm;
//...
$form = ModelForm::create($m);
//..
echo $form;

There is also a Boostrap 3 form renderer:, (*9)

<?php
use W5n\Form\FormBootstrap3;
//...
$form = FormBootstrap3::create($m);
$form->setLayout(array(
    array('name' => 5, 'birth_date' => 2),
    array('token' => 7),
    array('submit' => 7)
));
//On your view file...
echo $form;

The primary array values define rows, key/value pairs inside primary values define field/fieldSize. With previous layout you'll get a three rows form: first row with 'name' and 'birth_date' inputs, second row with 'token' input and third row with a submit button. 'submit' key is a extra field automatically added to form object., (*10)

PS: You need to add Bootstrap 3 CSS file to your view file., (*11)

Validators

soon..., (*12)

Filters

soon..., (*13)

Advanced Usage

soon..., (*14)

The Versions

20/06 2014

dev-master

9999999-dev

Easily create forms, validate and filter data.

  Sources   Download

MIT

The Requires

  • php >=5.3.3

 

The Development Requires