okneloper / forms
轻松构建、控制、提交和验证表单。
v0.10.5
2018-10-04 22:28 UTC
Requires
- php: >=5.5.0
Requires (Dev)
- laravel/framework: >=5.2.0,<5.8.0
- phpunit/phpunit: ^4.0 || ^5.0
Suggests
- laravel/framework: Allows validating your forms with Laravel
- respect/validation: Allows validating your forms with Respect validation package
- dev-master
- v0.10.5
- v0.10.4
- v0.10.3
- v0.10.2
- v0.10.1
- v0.10.0
- v0.9.x-dev
- v0.9.4
- v0.9.3
- v0.9.2
- v0.9.1
- v0.9.0
- v0.8.x-dev
- v0.8.5
- v0.8.4
- v0.8.3
- v0.8.2
- v0.8.1
- v0.8.0
- v0.7.x-dev
- v0.7.1
- v0.7.0
- v0.6.7
- v0.6.6
- v0.6.5
- v0.6.4
- v0.6.3
- v0.6.2
- v0.6.1
- v0.6.0
- v0.5.1
- v0.5.0
- v0.4.1
- v0.4.0
- v0.3.1
- v0.3.0
- v0.2.1
- v0.2.0
- v0.1.0
This package is auto-updated.
Last update: 2024-09-05 19:06:57 UTC
README
- 可以与任何框架或非框架代码集成。
- 包含对 illuminate/validation 和 respect/validation 的适配器。
文档和示例将在未来的版本中提供。
使用 Illuminate/Validation 的表单的一个非常简单的例子
class Model { public $name; public $type; } $form = new \Okneloper\Forms\Form(new Model); $form->add('text', 'name', 'Name'); $form->add('select', 'type', 'Type')->options([ 'foo' => 'Bar', 'baz' => 'FooBar', ]); if ($request->isPost()) { $app = \Illuminate\Support\Facades\App::getFacadeApplication(); $rules = [ 'name' => 'required', 'type' => 'in:' . $form->el('type')->listValues(), ]; $resolver = new \Okneloper\Forms\Validation\Illuminate\IlluminateValidatorResolver($app, $rules); $form->setValidatorResolver($resolver); $form->submit($_POST); if ($form->isValid()) { var_dump($form->getModel()); // the model now contains filtered and validated POST values } else { $errors = $form->getValidator()->getErrorMessages(); } }
元素
按钮
$form->add('button', 'btn', 'ClickMe'); // <buttont type="button"...>ClickMe</button> $form->add('submitButton', 'btn', 'Submit'); // <buttont type="submit">Submit</button>
提交表单请求数据时,忽略按钮值。
<?php $form = new \Okneloper\Forms\Form(); $form->add('text', 'fname'); $form->add('text', 'lname'); $form->add('submitButton', 'Submit'); // this is how data might come from a submitted form $data = [ 'fname' => 'John', 'lname' => 'Smith', 'Submit' => '1', ]; $form->submit($data); print_r($form->modelToArray()); ?> Array ( [fname] => John [lname] => Smith )