rutkoski/simplify-validation
最新稳定版本:1.0.2
Composer 安装命令:
composer require rutkoski/simplify-validation
包简介
Validation library
关键字:
README 文档
README
Validation library.
Usage
Validate single value/rule
try { $name = 'Ford'; $rule = new \Simplify\Validation\Required('Invalid name'); $rule->validate($name); } catch (\Simplify\ValidationException $e) { $errors = $e->getErrors(); var_dump($errors); }
Validate multiple values/rules
try { $data = array( 'name' => 'Ford Prefect', 'email' => 'ford.prefect@gmail.com', 'gender' => 'M', 'age' => '23', 'message' => 'Don\'t panic', ); $rules = new \Simplify\Validation\DataValidation(); $rules->setRule('name', new \Simplify\Validation\Required('Invalid name')); $rules->setRule('name', new \Simplify\Validation\Length('Name too short', 3)); $rules->setRule('email', new \Simplify\Validation\Email('Invalid email!')); $rules->setRule('gender', new \Simplify\Validation\Enum('Invalid gender!', array('M', 'F'))); $rules->setRule('age', new \Simplify\Validation\Refex('Invalid age', '/^\d{2}$/')); $rules->setRule('message', new \Simplify\Validation\Length('Invalid message', 1, 255)); $rules->validate($data); } catch (\Simplify\ValidationException $e) { $errors = $e->getErrors(); var_dump($errors); }
Alternative syntax
try { $data = array( 'name' => 'Ford Prefect', 'email' => 'ford.prefect@gmail.com', 'gender' => 'M', 'age' => '23', 'message' => 'Don\'t panic', ); $rules = new \Simplify\Validation\DataValidation(array( 'name' => array( array('\Simplify\Validation\Required', 'Invalid name'), array('\Simplify\Validation\Length', 'Name too short', array('min' => 3)) ), 'email' => array('\Simplify\Validation\Email', 'Invalid email!'), 'gender' => array('\Simplify\Validation\Enum', 'Invalid gender!', array('enum' => array('M', 'F'))), 'age' => array('\Simplify\Validation\Refex', 'Invalid age', array('regex' => '/^\d{2}$/')), 'message' => array('\Simplify\Validation\Length', 'Invalid message', array('min' => 1, 'max' => 255)), )); $rules->validate($data); } catch (\Simplify\ValidationException $e) { $errors = $e->getErrors(); var_dump($errors); }
Available validators
\Simplify\Validation\Callback
Validation using a valid php callback of the format:
$rule = new \Simplify\Validation\Callback('myValidator'); function myValidator($value) { // your validation throw new \Simplify\ValidationException('Don\'t panic'); }
Simplify\Validation\Email(required?)Simplify\Validation\Enum(list of valid values)Simplify\Validation\Length(min, max)Simplify\Validation\PasswordSimplify\Validation\Regex(regular expression)Simplify\Validation\RequiredSimplify\Validation\StrictEqual
Brazilian formats (validação de formatos brasileiros):
- CEP (validar formato de CEP)
- CNPJ
- CPF
- Telefone
Writing custom validators
Custom validators must implement \Simplify\ValidationInterface or extend on the base classes.
Example:
class CustomValidator implements \Simplify\ValidationInterface { protected $message; function __construct($message) { $this->message = $message; } public function getError() { return $this->message; } public function validate($value) { // custom validation throw new \Simplify\ValidationException('Don\'t panic'); } }
统计信息
- 总下载量: 1.4k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 0
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: GPL
- 更新时间: 2013-06-20