alksily / validator
Validator 组件提供验证值的工具。
1.2
2020-04-06 06:00 UTC
Requires
- php: >=7.0
README
Validator 组件提供验证值的工具。
要求
- PHP >= 7.0
安装
在您的Web项目根目录中运行以下命令
composer require alksily/validator
用法
use Alksily\Validator\Filter; use Alksily\Validator\Traits\FilterRules; class UserFilter extends Filter { use FilterRules; // check data for create new user public static function add(array &$data = []) { $filter = new self($data); $filter ->addGlobalRule($filter->leadEscape()) // global rule for all fields in $data ->addGlobalRule($filter->leadTrim()) ->attr('username') ->addRule($filter->checkStrlenMax(20)) // parameter passing for checking ->addRule($filter->checkStrlenMin(3)) ->attr('password') ->addRule($filter->checkStrlenBetween(3, 20)) ->attr('password_again') ->addRule($filter->checkEqualToField('password'), 'Passwords do not match') // second arg is reason error ->attr('email') ->addRule($filter->checkEmail()) ->attr('ip') ->addRule($filter->checkIp()); return $filter->run(); } } // data example $data = [ 'username' => 'Aleksey', 'password' => 'MyPassword', 'password_again' => 'MyPassword', 'email' => 'aleksey@example.com', 'ip' => '127.0.0.1', ]; $result = UserFilter::add($data); if ($result === true) { // check ok var_dump($data); // sanitized data } else { // found an error var_dump($result); }
密码不匹配时的示例错误
array(1) {
["password_again"]=>
string(22) "Passwords do not match"
}
贡献
请参阅CONTRIBUTING以获取详细信息。
许可证
Alksily Validator 适用于MIT许可证。有关更多信息,请参阅许可证文件。