cloudonaut / validator
一个简单的可重用验证器类
This package is auto-updated.
Last update: 2024-09-29 05:49:35 UTC
README
这是一个用于PHP的简单可重用验证器类。
安装
使用composer安装
composer require cloudonaut/validator
通过使用composer自动加载将其包含到您的脚本中,并创建一个新的验证器对象。
require './vendor/autoload.php'; use Cloudonaut\Lib\Validator; $validator = new Validator();
手动安装
只需将src文件夹中的Validator.php文件复制到您的项目,并将其包含到您的脚本中。然后创建一个新的验证器对象。
require_once './PATH/TO/Validator.php'; use Cloudonaut\Lib\Validator; $validator = new Validator();
基本用法
当违反规则时,验证器会自动存储违规。要检查验证器是否有违规,您可以使用hasViolations()函数。要获取违规的数组,您可以调用getViolations()。要添加违规,您可以使用许多内置检查函数之一,或者简单地将违规添加到列表中,使用您自己的代码检查值。
使用内置检查isNotEmpty的示例
检查值是否不为空。如果为空,则向验证器对象添加违规。
$value = ""; $msg = "Value can't be empty"; $validator->isNotEmpty($value, $msg); if ($validator->hasViolations()) { implode("," $validator->getViolations()); }
输出
Value can't be empty
使用addViolation的示例
在这个例子中,我们需要值匹配7作为一个简单的例子。但您可以根据这个例子来构建其他与值相关的功能。例如:调用另一个API并根据结果验证值,将值与数据库表中的值进行比较等...
$value = 8; $msg = "Value must be 7"; if ($value != 7) { $validator->addViolation($msg); } if ($validator->hasViolations()) { implode("," $validator->getViolations()); }
输出
Value must be 7
组合规则的示例
您可以检查相同或其他值,数量不限。例如,电子邮件地址必须填写,并且有一个名字。但名字只能是文本。
$name = "R2D2"; // wrong name $mail="test.example.com"; //wrong mail $validator->isNotEmpty($name, "Name can't be empty"); $validator->isNotEmpty($mail, "Mail can't be empty"); $validator->isTextOnly($name, "Name can't have numbers"); $validator->isEmail($name, "Mails is not in the correct format"); if ($validator->hasViolations()) { implode(", " $validator->getViolations()); }
输出
Name can't have numbers, Mails is not in the correct format
基本函数
addViolation($msg='')
添加带有给定消息的违规
hasViolations()
检查验证器是否有违规。如果有违规,它将返回true,如果没有违规,它将返回false。
getViolations()
返回所有违规消息的数组。如果没有违规,它只返回一个空数组。
内置检查
所有函数在没有添加违规时也会返回true,在值违反规则时会返回false。
isNotEmpty($value, $msg='')
当值空时添加违规。
isText($value,$msg='')
当值不是字母数字时添加违规。
isTextOnly($value,$msg='')
当值不包含仅字母时添加违规。
isNumber($value,$msg='')
当值不是数字时添加违规。
isDigit($value,$msg='')
当值包含除数字字符以外的任何内容时添加违规。
isBetween($min, $max, $value, $msg='')
当值不在min和max值之间时添加违规。
isComplex($value,$msg='')
当值不包含时添加违规
- 至少一个小写字母
- 至少一个大写字母
- 至少一个数字或符号
- 并且长度应在8到20个字符之间
isDate($value,$msg='')
当值不是以下格式的日期时添加违规:yyyy-mm-dd
isTime($value,$msg='')
当值不是以下格式的时分秒指示时添加违规:hh:mm:ss
isEmail($value,$msg='')
当值不是电子邮件地址时添加违规
isURL($value,$msg='')
当值不是URL时添加违规
isIP($value,$msg='')
当值不是IP地址时添加违规。(v4)
isFilename($value,$msg='')
当值不是文件名时添加违规
isInList($value,$list, $msg='')
当值不在给定列表中时,添加违规项。