omerucel / form
此包最新版本(1.0.0)没有提供许可证信息。
1.0.0
2017-07-13 13:47 UTC
Requires
- respect/validation: 1.1.12
Requires (Dev)
- phpunit/phpunit: 6.2.3
This package is not auto-updated.
Last update: 2024-09-21 15:53:28 UTC
README
关于
这个库为表单验证过程提供了一个干净且易于使用的解决方案。它使用respect/validation包进行验证。
Composer
{ "require": { "omerucel/form": "1.0.0" } }
使用方法
有两种使用方式。第一种是扩展OU\Form\Form
类,这是使用此库的一种干净方式。
<?php namespace { use OU\Form\Field; use OU\Form\Message\DangerMessage; use OU\Form\Message\SuccessMessage; use Respect\Validation\Rules; use Symfony\Component\HttpFoundation\Request; $request = Request::createFromGlobals(); $form = new RegistrationForm($request); if ($form->validate()) { // Complete form action $form->setCompleted(true); $form->addMessage(new SuccessMessage('User created.')); } else { $form->addMessage(new DangerMessage('Please try again.')); } class RegistrationForm extends OU\Form\Form { public $email; public $password; public function __construct(Request $request) { $this->email = new Field($request->get('email')); $this->email->addRule(new Rules\Email(), new DangerMessage('Invalid email address.')); $this->password = new Field($request->get('password')); $this->password->addRule(new Rules\NotEmpty(), new DangerMessage('Password is empty.')); $this->password->addRule(new Rules\Length(8), new DangerMessage('Password is too short.')); } } }
另一种方式是直接使用OU\Form\Form
类。
<?php namespace { use OU\Form\Form; use OU\Form\Field; use OU\Form\Message\DangerMessage; use OU\Form\Message\SuccessMessage; use Respect\Validation\Rules; use Symfony\Component\HttpFoundation\Request; $request = Request::createFromGlobals(); $form = new Form(); $form->email = new Field($request->get('email')); $form->email->addRule(new Rules\Email(), new DangerMessage('Invalid email address.')); $form->password = new Field($request->get('password')); $form->password->addRule(new Rules\NotEmpty(), new DangerMessage('Password is empty.')); $form->password->addRule(new Rules\Length(8), new DangerMessage('Password is too short.')); if ($form->validate()) { $form->setCompleted(true); $form->addMessage(new SuccessMessage('User created.')); } else { $form->addMessage(new DangerMessage('Please try again.')); } }
你可以扩展Respect\Validation\Rules\AbstractRule
类或实现Respect\Validation\Validatable
接口来创建自己的验证规则。请参阅其文档了解相关信息。