seanmorris / form
简单、面向对象的PHP表单。
1.0.4
2022-01-17 22:06 UTC
Requires
- seanmorris/theme: ^1.0
Requires (Dev)
- seanmorris/ids: dev-sm-api-tooling as dev-master
- simpletest/simpletest: ^1.1
README
快速、可定制的PHP表单。
表单库允许您快速开发、定制和验证表单,以便您可以回归编程。
创建表单
创建表单很简单。以字母或数字开头的元素是字段。以下划线开头的元素是特殊键。例如,_method
允许您为表单选择GET或POST请求。
以字母或数字开头的元素将直接渲染到 <input> 或 <select> 标签中。以下划线开头的元素将传递到逻辑中但不会渲染。
例如,_title 属性会生成一个 <label> 标签,用于表单字段。
$skeleton['_method'] = 'POST'; $skeleton['testField'] = [ 'type' => 'text' , '_title' => 'Test Field' ]; $skeleton['submit'] = [ '_title' => 'Submit' , 'type' => 'submit' ]; $form = new \SeanMorris\Form\Form($skeleton); echo $form->render();
验证
验证器在 _validators 键上指定。它是一个以验证器类为键的数组。值是传递给构造函数的参数数组。
$skeleton['testField'] = [ 'type' => 'text' , '_title' => 'Test Field' , '_validators' => [ 'SeanMorris\Form\Validator\Regex' => [ '/.{8,}/' => '%s must be at least 8 characters' ] ] ];
过滤和验证提交的值很简单
$form->setValues($_POST); if($form->validate()) { // Values will only contain keys for each of the fields. $values = $form->getValues(); } else { $errors = $form->erorrs(); }
更多...
有关字段类型列表、验证器列表和使用说明,请阅读DOCS。
有关扩展库以创建新字段类型的指南,请阅读EXTENDING。