badelal2007/validator

PHP 验证器类。

v1.0 2018-03-01 19:31 UTC

This package is not auto-updated.

Last update: 2024-09-29 04:48:58 UTC


README

Validator 是一个框架无关且流畅的服务端表单验证包,适用于 PHP

[文档]

安装

可以通过 composer 安装 Validator,只需在项目根目录中执行以下命令:

composer require badelal2007/validator

或者在 composer.json 文件中添加以下内容,并运行 composer install

"require": {
    "badelal2007/validator": "dev-master"
}

使用方法

在项目中使用 Validator 非常简单,以下是一个示例:

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

$validator = new validator\Validator();
$validator->validate($_POST, [
    'username'         => 'required',
    'password'         => 'required|password:strong',
    'confirm_password' => 'required|same:password'
]);

#Return true if validation pass
var_dump($validator->passed());

#Return true if validation failed
var_dump($validator->failed());

#Return all errores if any
var_dump($validator->getErrors());

#Print first error if any for 'password' field
if($errors->get('password')) { echo '<span class="error">'.$errors->get('password')->first().'</span>'; }

#Print last error if any for 'password' field
if($errors->get('password')) { echo '<span class="error">'.$errors->get('password')->last().'</span>'; }

#Change 'message' for validation rule
$validator->validate($_POST, [
    'email'     => 'required--message=Please enter email|email--Please enter valid email ID.',
    'password'  => 'required'
]);

如果需要验证文件,则需要将 $_POST|$_GET$_FILES 合并,如下所示:

$validator = new validator\Validator();
$validator->validate(array_merge($_POST, $_FILES), [
    'profile_picture' => 'file:image'
]);

可用规则

  • required
  • email
  • password 接受密码强度如 password:strong|medium|normal(默认 normal)
  • number
  • file 接受文件类型,目前支持的格式:image,video,doc
  • min
  • max
  • length
  • array
  • boolean
  • ip
  • same
  • alpha
  • alnum