valid8r / valid8r_php
支持多种编程语言的验证库
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-04-09 00:21:23 UTC
README
这个包相当旧了,没有人应该在使用它。
Valid8r for PHP
Valid8r 是一个使用公共 JSON 配置文件的多种编程语言验证库。更多关于 Valid8r 和配置文件的信息,请参阅
https://github.com/thomporter/valid8r
安装
Valid8r for PHP 实际上只有一个文件是你需要的。如果你不关心测试、示例等,你可以简单地从 lib/Valid8r 文件夹中获取 Valid8r.php 文件
https://raw.github.com/thomporter/valid8r_php/master/lib/Valid8r/Valid8r.php
或者,你也可以克隆这个仓库以获取示例和测试。
你也可以通过 Composer 安装
{
"require": {
"valid8r/valid8r_php": ">=v0.0.3"
}
}
示例
在支持 PHP 的 Web 服务器上运行 Examples 文件夹,你可以查看 Kitchen Sink 示例。
以下是它在 PHP 中工作的一个快速示例
<?php
$validator = new Valid8r(Array(
'rules_file' => '/path/to/your/rules.json',
'data' => $_POST // assumed to be slash-free
));
$errors = $validator->validateAll();
// errors is now an associative array, where the keys are fields with
// errors, and values are the errors themselves.
// Fields with no errors are not in the array.
if (!empty($errors)) {
// there was at least one error in the form...
}
if (@$errors['field_name']) {
// field_name has an error, the error string is in $errors['field_name']
}
自定义验证器
有关自定义验证器的通用信息,请参阅Valid8r 主文档
Valid8r for PHP 支持以下方式的自定义验证器
- 标准函数
- 类的静态方法
- 类的实例方法
无论你使用哪种方式,你的函数必须接受两个参数($field & $value),并且必须返回一个字符串作为错误,或者一个空字符串如果没有错误。
使用标准函数的自定义验证器
只需使用函数名作为自定义规则中 func 属性的值,Valid8r 将直接访问它。
使用静态方法的自定义验证器
你可以在自定义规则中添加 php_static_class,Valid8r 将将其与 func 属性组合来构建调用
$php_static_class::$func($field, $value)
你还可以添加一个 php_namespace,这将导致 Valid8r 按如下方式调用
$php_namespace\$php_static_class::$func($field, $value)
使用实例方法的自定义验证器
如果你需要 Valid8r 初始化一个类,然后调用它的方法,这就是你的选择。添加一个 php_class 属性,Valid8r 将按如下方式调用
$validator = new $php_class
$validator->$func($field, $value)
测试
如果你克隆/下载了仓库,则可用 PHPUnit 测试。安装 PHPUnit 后,你可以通过以下方式运行测试
`run-tests`