buuum/validation

筛选和验证数据

v3.0.0 2017-11-23 10:37 UTC

README

Packagist license

安装

系统需求

要使用 Buuum\validation,您需要 PHP >= 5.5.0,但推荐使用最新的稳定版本。

Composer

Buuum\validation 可在 Packagist 上找到,并可以使用 Composer 安装。

composer require buuum/validation

手动

只要您的自动加载器遵循 PSR-0 或 PSR-4 标准,您就可以使用自己的自动加载器。只需将 src 目录内容放入您的 vendor 目录。

FILTERS

  • trim 从字符串的开始和结束处去除空白
  • sanitize_string 去除标签
  • sanitize_email 移除所有字符,只保留字母、数字和 !#$%&'*+-=?^_{|}~@.[].
  • rmpunctuation 从字符串中移除所有已知的标点符号
  • urlencode 编码 URL 实体
  • htmlencode 编码 HTML 实体
  • sanitize_numbers 移除任何非数字字符
  • tags 从文本中移除所有布局相关的 HTML 标签。仅保留基本标签
  • custom_tags 移除除了声明的 HTML 标签之外的所有 HTML 标签
  • attributes 移除所有属性标签
  • whole_number 确保提供的数值值表示为整数

使用 FILTER

$filter_rules = [
    'name'  => 'trim|sanitize_string',
    'email' => 'trim|sanitize_email',
];

$data = [
    'name' => ' name ',
    'email' => ' (email@email.com) '
];
$filter = new Filter($filter_rules);

$data = $fitler->filter($data);

// output
$data = [
    'name' => 'name',
    'email' => 'email@email.com'
];

VALIDATORS

  • required
  • contains contains:word1:word2
  • valid_email
  • max max:23
  • min min:3
  • exact_len exact_len:5
  • max_len max_len:23
  • min_len min_len:3
  • alpha
  • alpha_space
  • alpha_dash
  • alpha_numeric
  • alpha_numeric_space
  • alpha_numeric_dash
  • only_alpha
  • only_alpha_space
  • only_alpha_dash
  • only_alpha_numeric
  • only_alpha_numeric_space
  • only_alpha_numeric_dash
  • numeric
  • integer
  • euqals equals:password2
  • date date:Y-m-d 日期:formatdate
  • groupdate groupdate:ano:mes:dia
  • url

####注意:仅前缀的 Alpha 组合 = a-z,无前缀 = a-zÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿçÇñÑ

使用 VALIDATORS

$validator_rules = [
    'name' => 'required|max:20',
    'email' => 'required|valid_email',
    'date' => 'date:d/m/Y',
    'dia'      => 'required|integer',
    'mes'      => 'required|integer',
    'ano'      => 'required|integer|groupdate:ano:mes:dia',
];

$messages = [
    "required"      => "The :attribute is required",
    "required:email"      => "Email required",
    "max"           => "The :attribute may not be greater than :value.",
    "valid_email"   => "The :attribute format is invalid.",
    "date"          => "La fecha seleccionada es incorrecta.",
    "groupdate"     => "La fecha seleccionada es incorrecta."
];

$validator = new Validation($validator_rules, $messages);

$data = [
    'name' => '',
    'email' => ''
];

$errors = $validator->validate($data);

//outpur errors

Array
(
    [name] => Array
        (
            [0] => The name is required
        )
        
    [email] => Array
        (
            [0] => The email is required
            [1] => The email format is invalid.
        )
);

LICENSE

The MIT License (MIT)

版权所有 (c) 2016

特此授予任何获得此软件及其相关文档副本(“软件”)的人免费使用该软件的权利,不受限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许向软件提供者提供软件的人这样做,前提是遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“原样”提供,不提供任何形式的保证,无论是明示的还是隐含的,包括但不限于适销性、特定用途的适用性和非侵权性。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任承担责任,无论是基于合同、侵权或其他方式,无论是因软件或其使用或其他方式而产生的。