kenjis / secure-validator
安全的输入验证库。
dev-master / 1.0.x-dev
2015-07-16 01:23 UTC
Requires
- php: >=5.4
- siriusphp/filtration: 1.2.*
- siriusphp/validation: dev-master#be0a46c7fdf18d2192d313bf9534482a6ec2b502
Requires (Dev)
- satooshi/php-coveralls: 0.6.*
This package is auto-updated.
Last update: 2024-09-23 13:13:28 UTC
README
Secure Validator 是一个输入验证库。它基于 Sirius Validation。
要求
- PHP 5.4.0 或更高版本
特性
默认规则
Secure Validator 推崇严格的验证。它为所有字段设置了默认验证规则。
ValidUtf8
检查值是否为有效的 UTF-8 字符编码IsString
检查值是否为字符串NoControl
检查值是否没有控制字符(除了制表符和换行符)
并且
- 添加
MaxLength
1 个字母
也就是说,您必须将最大长度规则设置(覆盖)到所有字段。您不会忘记这一点。
如果字段不符合默认规则,您可以删除这些规则。
$validator->remove('field', 'ValidUtf8');
致命规则
您可以设置验证规则为 致命,以检测异常输入,如攻击。
$validator->add('field', 'maxlength', ['max' => 60, 'fatal' => true]);
如果致命规则失败,将立即抛出异常 FatalValidationError
。
验证数据
您只能通过 $validator->getValidated()
获取验证后的数据。
如何使用
请参阅 example.php 和 Sirius Validation 文档。
$validator = new \Kenjis\Validation\Validator; $validator->add('field', 'required | maxlength(max=60)'); if ($validator->validate($_POST)) { // validation passed } else { // validation failed }
请参阅 内置验证规则。
新增方法
Validator::filter()
添加 Sirius\Filtration 的过滤规则。请参阅 内置过滤器。
验证器将在验证之前应用过滤器。
$validator->filter('field', 'StringTrim');
Validator::getValidated()
获取验证后的值。
$allData = $validator->getValidated(); $field = $validator->getValidated('field');
Validator::getInputValue()
获取特定字段的过滤后的输入值。
$field = $validator->getInputValue('field');
提示
当您设置 required
时,如果规则失败,Sirius Validation 将不会对该字段应用更多规则。