forestry form-validator
该软件包已被废弃,不再维护。未建议替代包。
使用定义的规则集验证表单数据。
0.1.1
2015-10-06 08:36 UTC
Requires
- php: >=5.4.0
Requires (Dev)
- phpunit/phpunit: 4.*
This package is auto-updated.
Last update: 2019-12-18 10:32:32 UTC
README
基于规则验证表单数据的库。
安装
通过 Composer
$ composer require forestry/form-validator
使用方法
创建验证器
$validator = new Forestry\FormValidator\Validator();
为表单定义规则集
$rules = [ 'name' => 'alpha|required', 'age' => 'num|required', ];
验证表单数据
$validator->validate($_POST, $rules); if ($validator->hasErrors()) { $errors = $validator->getErrors(); }
显示错误消息
<label for="name">Name</label> <input type="text" name="name" id="name"> <?= (!empty(Forestry\FormValidator\Validator::error('name')) ? Forestry\FormValidator\Validator::error('name') : '') ?>
您还可以使用自定义标记包裹错误消息
Forestry\FormValidator\Validator::error('confirm_password', '<span class="text-danger">{message}</span>');
规则
该软件包包含以下内置规则
规则 | 参数 | 描述 |
---|---|---|
alpha | 无 | 仅允许文本、空格、. 和 - |
alphanum | 无 | 允许文本和数值 |
boolean | 无 | 检查值是否可以解释为布尔值 true (true , 1 , yes 或 on )。 |
date | 格式 | 检查值是否为有效的日期、时间或日期时间字符串。您可以提供要检查的日期格式。 |
无 | 检查值是否为有效的电子邮件地址。 | |
float | 无 | 检查值是否为有效的浮点数。 |
integer | 无 | 检查值是否为有效的整数。 |
ip | 无 | 检查值是否为有效的 IP 地址。 |
max | 数字 | 检查值是否超过 数字 个字符。 |
min | 数字 | 检查值是否至少有 数字 个字符。 |
natural | 无 | 检查值是否为自然数。 |
数字 | 无 | 检查值是否为数字。 |
phone | 无 | 检查值是否为有效的电话号码格式。 |
required | 无 | 检查值是否已设置。 |
same | 字段名 | 比较值是否与 字段名 中的值匹配。 |
url | 无 | 检查值是否为有效的 URL。 |
same
规则示例
使用此规则,您可以为两个字段定义必须具有相同的值,例如密码字段
$rules['password'] = 'required|min:8'; $rules['confirm_password'] = 'same:password';
自定义消息
除了使用默认的错误消息外,您还可以为每个规则传递一个自定义的消息
$rules['tos'] = "required--Please accept the terms of service";
自定义规则
您可以定义自己的规则
首先,创建一个类,该类实现了 Forestry\FormValidator\SimpleRuleInterface
或 Forestry\FormValidator\ParameterRuleInterface
。后一个用于具有参数的规则。
use Forestry\FormValidator\SimpleRuleInterface; MyRule implements SimpleRuleInterface { public function validate($value) { // Your code. } public function getMessage($value) { // Your code. } }
然后,使用名称和完全限定的类名注册您的规则。
$validator->registerRule('myrule', '\MyRule');
如果您想更改已注册的规则,请使用 updateRule()
方法。
$validator->updateRule('url', '\MyRule');
测试
$ phpunit
贡献
有关详细信息,请参阅CONTRIBUTING。
鸣谢
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。