kenjis/secure-validator

安全的输入验证库。

dev-master / 1.0.x-dev 2015-07-16 01:23 UTC

This package is auto-updated.

Last update: 2024-09-23 13:13:28 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License

Scrutinizer Code Quality Coverage Status Build Status

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.phpSirius 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 将不会对该字段应用更多规则。