h2lsoft/validator

v1.2.1 2024-06-30 12:15 UTC

This package is auto-updated.

Last update: 2024-09-04 16:14:26 UTC


README

多语言字符串验证值的库。

Version

安装

通过 Composer 直接安装

$ composer require h2lsoft/validator

基本用法

// simulate POST
$_POST['name'] = 'the king !';
$_POST['email'] = 'fa@email';
$_POST['zip_code'] = 'a2345';
$_POST['choices'] = ['apple'];
$_POST['job'] = 'webdesigner';
$_POST['days'] = '-50';
$_POST['date'] = '31/20/2020';
$_POST['datetime'] = '31/20/2020 12:00';
$_POST['website'] = 'text.com';
$_POST['regex_test'] = 'abcdef';
$_POST['conditions'] = 0;

// rules
$validator = new \h2lsoft\Data\Validator('en'); // `en` by default but you can change it
$validator->input('name')->required()->alpha(' '); // space allowed
$validator->input('email', "email address")->required()->email();
$validator->input('zip_code', 'zip code')->required()->mask('99999');
$validator->input('choices')->required()->multiple()->in(['banana', 'pear'])->minLength(2);
$validator->input('job')->required()->equal('CEO');
$validator->input('days')->required()->integer()->between(1, 60);
$validator->input('date')->date('m/d/Y');
$validator->input('datetime')->required()->datetime('m/d/Y H:i');
$validator->input('website')->url(FILTER_FLAG_PATH_REQUIRED);
$validator->input('regex_test')->regex("/^x/i", "`[FIELD]` must start by x");
$validator->input('conditions')->required()->accepted();

if($validator->fails())
{
	print_r($validator->result());
}
else
{
	die("No error detected");
}

规则

字符串

  • 必填
  • 电子邮件
  • 掩码
  • 不在
  • 整数
  • 浮点数
  • 最小值
  • 最大值
  • 介于
  • 长度
  • 最小长度
  • 最大长度
  • 等于
  • 接受
  • 网址
  • 字母
  • 字母数字
  • 日期
  • 日期时间
  • 正则表达式
  • IP地址
  • 相同于
  • 如果必填

数组(复选框,多选下拉列表)

  • 多选
  • 介于
  • 最小值
  • 最大值

文件

  • 文件必填
  • 文件最大大小
  • 文件扩展名
  • 文件MIME类型
  • 文件图片
  • 文件图片Base64
  • 文件图片宽度
  • 文件图片高度

自定义

  • 添加本地消息
  • 设置输入名称(数组)
  • 设置输入名称
  • 添加错误(自定义错误)

更多信息请参阅示例目录

许可证

MIT。查看完整的 许可证