w5n/modelform

轻松创建表单、验证和筛选数据。

dev-master 2018-08-22 11:36 UTC

This package is not auto-updated.

Last update: 2024-09-28 16:05:07 UTC


README

轻松创建表单、验证和筛选数据。

深受优秀的 Respect/Validation 包的启发。

PS:尚未准备好用于生产。

安装(通过Composer)

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

使用方法

创建模型

首先创建一个模型

<?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');            
    }
}

现在我们有了验证模型,我们可以为其分配值

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

或者...

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

模型的有用方法

$b->validate(); //true

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

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

稍后...

表单

您可以使用模型轻松渲染表单(与大多数‘简单表单’包不同)

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

还有一个 Boostrap 3 表单渲染器

<?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;

主要数组值定义行,主要值内部的关键/值对定义字段/字段大小。使用以前的布局,您将得到一个三行表单:第一行有‘name’和‘birth_date’输入,第二行有‘token’输入,第三行有提交按钮。‘submit’键是自动添加到表单对象中的额外字段。

PS:您需要将Bootstrap 3 CSS文件添加到您的视图文件中。

验证器

稍后...

过滤器

稍后...

高级使用

稍后...