银行/土堆

1.0.0 2016-12-24 03:44 UTC

This package is not auto-updated.

Last update: 2024-09-23 13:12:14 UTC


README

Build Status MIT License Total Downloads Code Climate

验证器

安装

将此添加到您的 composer.json 文件中的 require 对象

"bank/mound": "version"

或者,克隆存储库并手动使用提供的 composer

php composer.phar self-update
php composer.phar install

提供者

  • 转换提供者
  • 过滤器提供者
  • 验证器提供者

使用提供者

接口

public function rule(string $key): ProviderInterface;

public function group(string $key): ProviderInterface

public function attach($rule, array $options = []): ProviderInterface

public function exec(array $data, array $groups): array

附加规则

$provider
  ->rule($key_name)
  ->attach(Rules::class, $options)
  ->attach(Rules::class, $options)

分组规则

$provider
  ->group($group_name)
  ->rule($key_name)
  ->attach(Rules::class, $options)
  ->attach(Rules::class, $options)

执行

$provider->exec($data, $group_names);

转换提供者

根据规则转换参数。

返回值是转换后的数据。

可使用的规则是扩展 AbstractConverter 的类。

示例

use Mound\Converter;

$provider = new Converter\Provider;

$data = ['test_data1' => ' test_data1'];

$provider
  ->rule('test_data1')
    ->attach(Converter\Rules\Trim::class)
  ->endRule

$data = $provider->exec($data);
# ['test_data1' => 'test_data1']

转换规则

  • 修剪
  • 回调

过滤器提供者

根据规则过滤参数。

返回值是过滤后的数据。

可使用的规则是扩展 AbstractFilter 的类。

示例

use Mound\Filter;

$provider = new Filter\Provider;

$data = ['test_data1' => ' test_data1'];

$provider
  ->rule('test_data1')
    ->attach(Filter\Rules\NotEmpty::class)
  ->endRule

$data = $provider->exec($data);
# []

过滤规则

  • 非空
  • 数字
  • 回调

验证器提供者

根据规则验证参数。

返回值是错误信息。

可使用的规则是扩展 AbstractValidator 的类。

示例

use Mound\Validator;

$provider = new Validator\Provider;

$haystack = ['test_data'];
$data = [
  'test_data1' => 'test_data1'
  'test_data2' => ''
];

$provider
  ->rule('test_data1')->attach(Validator\Rules\NotEmpty::class)
  ->rule('test_data2')->attach(Validator\Rules\NotEmpty::class)
  ->group('in_array')->rule('test_data1')
    ->attach(Validator\Rules\InArray::class, [
      'haystack' => $haystack
    ])
  ->endGroup

$error = $provider->exec($data);
#['test_data2' => 'can't be blank']

$error = $provider->exec($data, ['in_array']);
#['test_data1' => 'is invalid', 'test_data2' => 'can't be blank']

验证规则

  • 非空
  • 数组中
  • 回调