forestryform-validator

该软件包已被废弃,不再维护。未建议替代包。

使用定义的规则集验证表单数据。

0.1.1 2015-10-06 08:36 UTC

This package is auto-updated.

Last update: 2019-12-18 10:32:32 UTC


README

Latest Version Software License Build Status Codacy Badge Total Downloads

基于规则验证表单数据的库。

安装

通过 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, yeson)。
date 格式 检查值是否为有效的日期、时间或日期时间字符串。您可以提供要检查的日期格式。
email 检查值是否为有效的电子邮件地址。
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\SimpleRuleInterfaceForestry\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)。有关更多信息,请参阅许可证文件