rutkoski / simplify-validation
验证库
1.0.2
2017-02-17 18:33 UTC
Requires
- php: >=5.3
- rutkoski/simplify-functions: 1.*
This package is auto-updated.
Last update: 2024-09-29 03:58:01 UTC
README
验证库。
使用方法
验证单个值/规则
try { $name = 'Ford'; $rule = new \Simplify\Validation\Required('Invalid name'); $rule->validate($name); } catch (\Simplify\ValidationException $e) { $errors = $e->getErrors(); var_dump($errors); }
验证多个值/规则
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); }
替代语法
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); }
可用的验证器
\Simplify\Validation\Callback
使用格式为的有效 PHP 回调进行验证
$rule = new \Simplify\Validation\Callback('myValidator'); function myValidator($value) { // your validation throw new \Simplify\ValidationException('Don\'t panic'); }
Simplify\Validation\Email
(必需?)Simplify\Validation\Enum
(有效值的列表)Simplify\Validation\Length
(最小值,最大值)Simplify\Validation\Password
Simplify\Validation\Regex
(正则表达式)Simplify\Validation\Required
Simplify\Validation\StrictEqual
巴西格式(巴西格式验证)
- CEP(验证 CEP 格式)
- CNPJ
- CPF
- 电话
编写自定义验证器
自定义验证器必须实现 \Simplify\ValidationInterface
或扩展基础类。
示例
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'); } }