seorc/phpiv

一个简单的PHP输入验证工具集。

v0.3.0 2016-11-11 21:11 UTC

This package is not auto-updated.

Last update: 2024-09-28 16:11:37 UTC


README

这是一个非常小的PHP验证器,旨在提供易于使用的界面和一些与其他工具集成的机制。以下是它的工作方式:

  1. 创建一个包含值的关联数组。

  2. 为该数组中的每个值创建一个验证器。首选的方法是将所有的验证器分组在ValidatorSet中。

  3. 将ValidatorSet应用于数组。ValidationError会告诉你数组中的一个或多个字段根据你定义的规则是不合法的。

  4. 通过在捕获的异常实例上调用ValidationError::getErrors(),获取与相应字段关联的错误集。

请查看测试以获取如何在代码中实现这些的提示。我计划在未来的提交中添加一些实际示例。

这个验证器的设计模仿了其他框架的做法。我创建它是为了给小型项目和娱乐提供一个简单的验证工具包。

简单示例

<?php

require __DIR__ . '/../vendor/autoload.php';

use Phpiv\ValidatorSet;
use Phpiv\ValidationError;

$validateThis = array(
    'name' => 'John Doe',
    'rating' => '6',
    'comment' => 'This is too short.',
    'email_address' => 'not an email address'
);

$vs = new ValidatorSet();

$vs->add('string', 'name')
    ->required();
$vs->add('number', 'age')
    ->required();
$vs->add('number', 'rating')
    ->min(1)
    ->max(5);
$vs->add('string', 'comment')
    ->length(20, 100)
    ->required();
$vs->add('email', 'email_address')
    ->required();

try {
    $vs->check($validateThis);
}
catch(ValidationError $e) {
    print_r($e->getErrors());
}

/*
The output is:

Array
(
    [age] => Array
        (
            [0] => Es requerido
        )

    [rating] => Array
        (
            [0] => No puede ser mayor de 5
        )

    [comment] => Array
        (
            [0] => Debe tener 20 caracteres como mínimo
        )

    [email_address] => Array
        (
            [0] => No es un email válido
        )

)
*/

测试

您需要PHPUnit来运行测试。它包含在composer.json中作为开发依赖项。您可以通过以下方式运行测试:

./vendor/bin/phpunit

代码状态

Build Status