componadi / lightvalidate
LightValidate 是一个轻量级且简单的验证组件
1.1.5
2022-05-06 09:10 UTC
Requires
- php: >=5.6.0
This package is auto-updated.
Last update: 2024-09-06 14:36:13 UTC
README
版本 1.1.5
1 - 简单调用
该组件验证表单提交的参数
它的工作方式非常简单,这是一个调用示例
$name = new LightValidate(); $resultName = $name->validate('name', 'POST', 'a', [ 'min' => 3 ]);
- 第一个参数
'name'
-> 是你的变量在$_POST['name']
中的名称(在这个例子中是POST方法中) - 第二个参数
'POST'
-> 定义表单的方法 - 第三个参数
'a'
-> 定义你在表单中变量的类型(在这个例子中是字符串,类型的定义将在第二部分中介绍) - 第四个参数
[ 'min' => 3 ]
-> 定义字符串变量的最小长度(最小/最大定义将在第二部分中介绍)
1.1 - validate() 方法的结果
此方法的结果是一个包含测试示例信息的数组
如果 $_POST['name']
包含:Pierre
$name = new LightValidate(); $resultName = $name->validate('name', 'POST', 'a', [ 'min' => 3 ]); // $resultName contains $resultName = [ 'data' => "Pierre", 'isValide' => true, 'errorMessage' => "everything is ok !" ]; // Whith others parameters $name = new LightValidate(); $resultName = $name->validate('name', 'POST', 'a', [ 'min' => 8 ]); //$resultName contains $resultName = [ 'data' => "Pierre", 'isValide' => false, 'errorMessage' => "Your data is too short, your data need longer or equal than : 8" ];
2 - 方法、类型、最小/最大定义
2.1 - 方法定义
当你调用 validate()
时,你需要定义一个方法,这是一个包含有效方法和调用正确 filter_input
中正确 INPUT 的数组
private $validateMethod = [ 'GET' => INPUT_GET, 'POST' => INPUT_POST ];
2.2 - 类型定义
当你调用 validate()
时,你需要定义你想要测试的变量的类型,这是一个包含有效类型并调用正确 filter_input
中正确验证方法(或清理)的数组
private $validateType = [ 'i' => FILTER_VALIDATE_INT, 'f' => FILTER_VALIDATE_FLOAT, 'a' => FILTER_SANITIZE_SPECIAL_CHARS, 'pwd' => FILTER_SANITIZE_SPECIAL_CHARS, 'url' => FILTER_VALIDATE_URL, 'mail' => FILTER_VALIDATE_EMAIL ];
'i'
=> 测试整数'f'
=> 测试浮点数'a'
=> 测试字符串'pwd'
=> 测试密码(你可以定义或添加允许的特殊字符)'url'
=> 测试URL'mail'
=> 测试电子邮件
2.3 - 最小/最大定义
你可以定义你想要为变量设置的最小或最大值,两者都可以或仅一个,也可以不设置(这是一个可选参数)。
有4个允许的值
'min'
-> 定义最小值'min-e'
-> 定义最小或等于值(对于字符串类型不可用)'max'
-> 定义最大值'max-e'
-> 定义最大或等于值(对于字符串类型不可用)
如果你想要定义最小或最大值,你需要像这样定义它
// Exemples about Fourth parameter [ 'min' => 3 , 'max-e' => 20] [ 'min-e' => 5 ] [ 'max' => 10 ]
3 - 修改无效特殊字符以测试密码
默认情况下,无效的特殊字符是: [,:;=|'<>.^*()]
但是你可以修改、添加或删除特殊字符
如果你想查看或了解当前无效的特殊字符,你可以使用
$password = new LightValidate(); echo $password->getInvalideSpecialCharacter(); // -> return "[,:;=|'<>.^*()]" if you modify nothing before
3.1 - 方法 addInvalideSpecialCharacter()
你可以添加一个或多个无效的特殊字符
$newInvalideSpecialCharacter = "{}"; $password = new LightValidate(); $password->addInvalideSpecialCharacter($newInvalideSpecialCharacter); // now if you want to see current invalide special character echo $password->getInvalideSpecialCharacter(); // -> return "[,:;=|'<>.^*()]{}"
如果你想添加 [
或 ]
字符,你需要写 \[
或 \]
3.2 方法 removeInvalideSpecialCharacter()
你可以删除一个或多个无效的特殊字符
// we have not modify $invalideSpecialCharacter before // we have "[,:;=|'<>.^*()]" value $removeInvalideSpecialCharacter = ["=", "*"]; $password = new LightValidate(); $password->removeInvalideSpecialCharacter($removeInvalideSpecialCharacter); // now if you want to see current invalide special character echo $password->getInvalideSpecialCharacter(); // -> return "[,:;|'<>.^()]{}" // if you want remove one character // we have not modify $invalideSpecialCharacter before // we have "[,:;=|'<>.^*()]" value $removeInvalideSpecialCharacter = "*"; $password = new LightValidate(); $password->removeInvalideSpecialCharacter($removeInvalideSpecialCharacter); // now if you want to see current invalide special character echo $password->getInvalideSpecialCharacter(); // -> return "[,:;=|'<>.^()]{}"
3.3 方法 setInvalideSpecialCharacter()
你可以设置无效字符
// we have not modify $invalideSpecialCharacter before // we have "[,:;=|'<>.^*()]" value $InvalideSpecialCharacter = "^]!§"; $password = new LightValidate(); $password->setInvalideSpecialCharacter($InvalideSpecialCharacter); // now if you want to see current invalide special character echo $password->getInvalideSpecialCharacter(); // -> return "^]!§"