koine/validator

验证适配器

0.9.0 2014-09-26 19:14 UTC

This package is not auto-updated.

Last update: 2024-09-14 16:55:28 UTC


README

Validator适配器,让您可以使用您想要的任何优秀的验证库。

代码信息

Build Status Coverage Status Code Climate Scrutinizer Code Quality

包信息

Latest Stable Version Total Downloads Latest Unstable Version License Dependency Status

用法

为了创建验证器,扩展executeValidation方法

class UserValidator extends Validator
{
    /**
     * {@inheritdocs}
     */
    protected function executeValidation($value)
    {
        if (!isset($value['name'])) {
            $this->getErrors()->add('name', 'you must set name');
        } elseif (!$value['name']) {
            $this->getErrors()->add('name', 'name cannot be empty');
        }

        if (!isset($value['lastName'])) {
            $this->getErrors()->add('lastName', 'you must set last name');
        } elseif (!$value['lastName']) {
            $this->getErrors()->add('lastName', 'last name cannot be empty');
        }
    }
}

$user = array(
    'name'     => 'Jon',
    'lastName' => '',
);

$validator = new UserValidator();
$validator->isValid($user); // false

$validator->getErrors()->toArray();
// array('lastName' => array('last name cannot be empty'))

$user['lastName'] = 'Doe';

$validator->isValid($user); // true

如果您还想验证值的类型,可以将验证委托给一个类型方法

class UserValidator extends Validator
{
    /**
     * {@inheritdocs}
     */
    protected function executeValidation($value)
    {
        $this->validateUser($value);
    }

    private function validateUser(array $user)
    {
        if (!isset($user['name'])) {
            $this->getErrors()->add('name', 'you must set name');
        } elseif (!$user['name']) {
            $this->getErrors()->add('name', 'name cannot be empty');
        }

        if (!isset($user['lastName'])) {
            $this->getErrors()->add('lastName', 'you must set last name');
        } elseif (!$user['lastName']) {
            $this->getErrors()->add('lastName', 'last name cannot be empty');
        }
    }
}

安装

通过Composer

将库添加到您的composer.json文件中的requirements key。

{
    // composer.json
    // [..]
    require: {
        // append this line to your requirements
        "koine/validator": "~0.9.0"
    }
}

替代安装

  • 了解 composer。您不需要寻找替代安装方式。这值得您花时间。请相信我 ;-)
  • 按照 这些说明

问题/功能建议

这里 是问题跟踪器。

贡献

请参阅贡献指南

许可证

MIT

作者