sonypradana/validator

v0.8.4 2024-02-04 13:59 UTC

This package is auto-updated.

Last update: 2024-09-04 15:19:55 UTC


README

elegant validator

Total Downloads Latest Version test past License

验证与过滤

在最受欢迎的 PHP 验证器之一 (Wixel/GUMP) 的基础上构建优雅的验证。

验证

$val = new Validator($_POST);

$val->field('name')->required()->validName();
// or
$val->name->required()->validName();

$val->if_valid(function() {
    // continue
})->else(function($err) {
    // array of error messages
    var_dump($err);
});

支持 GUMP

$is_valid = GUMP::is_valid(array_merge($_POST, $_FILES), [
    'username' => vr()->required()->alpha_numeric(),
    'password' => vr()->required()->between_len(6, 100),
    'avatar'   => vr()->required_file()->extension('png', 'jpg')
]);

if ($is_valid === true) {
    // continue
} else {
    // array of error messages
    var_dump($is_valid);
}

可用方法

  • required()
  • valid_email()
  • max_len()
  • min_len()
  • exact_len()
  • between_len()
  • alpha()
  • alpha_numeric()
  • alpha_numeric_space()
  • alpha_numeric_dash()
  • alpha_dash()
  • alpha_space()
  • numeric()
  • integer()
  • boolean()
  • float()
  • valid_url()
  • url_exists()
  • valid_ip()
  • valid_ipv4()
  • valid_ipv6()
  • guidv4()
  • valid_cc()
  • valid_name()
  • contains()
  • contains_list()
  • doesnt_contain_list()
  • street_address()
  • date()
  • min_numeric()
  • max_numeric()
  • min_age()
  • invalid()
  • starts()
  • extension()
  • required_file()
  • equalsfield()
  • iban()
  • phone_number()
  • regex()
  • valid_json_string()
  • valid_array_size_greater()
  • valid_array_size_lesser()
  • valid_array_size_equal()

并且

  • not(),用于反转所有可用方法。
  • where($condition),当条件为真时执行规则。
  • if($condition),当条件为真时执行规则。

过滤

过滤字段输入

$val = new Validator($_POST);

$val->filter('name')->trim()->lowwer_case();

// run filter
$filter = $val->filter_out();

验证和过滤

$val = new Validator($_POST);

$val->field('name')->required()->valid_name();
$val->filter('name')->trim()->lowwer_case();

// run validation and filter
$filter = $val->failedOrFilter());

为什么使用 Validator

为什么选择 Validator 而不是 GUMP 验证器。

  • 避免在构建验证规则时出现拼写错误。在使用验证器时可能会意外地输入错误的验证规则(拼写错误)。这可能导致运行时错误。
  • 开箱即用的自动补全。自动补全验证规则和维护规则。