mahmoud-abdelfadeil / validator-filter-php
PHP 中用于验证和过滤的包
This package is auto-updated.
Last update: 2024-09-19 08:44:57 UTC
README
PHP 中用于验证和过滤的包
创建者:Mahmoud Abdelfadeil
安装
配置文件
验证器
- 语法
- 语法说明
- 字符串
- URL
- 必填
- 选项
- IP
- 邮箱
- 最大长度
- 最小长度
- 最大值
- 最小值
- 唯一且存在
- 唯一
- 存在
过滤器
- 字符串
- 整数
- 浮点数
- 邮箱
- URL
- 编码
- 转义引号
- 特殊字符
安装
1- composer require mahmoud-abdelfadeil/validator-filter-php
配置文件
通过以下命令创建配置文件
php vendor/mahmoud-abdelfadeil/validator-filter-php/src/Validator/create-file-config.php
或者在 composer.json 文件中写入以下行,然后执行命令 composer dump-autoload
{
"scripts": {
"post-autoload-dump": [
"php vendor/mahmoud-abdelfadeil/validator-filter-php/src/Validator/create-file-config.php"
]
}
}
然后文件创建在 config/validator-filter-config.php
return [ // config database "db_host"=>"localhost", "db_connection"=>"mysql", "db_name"=>"filter-validate-php", "db_user"=>"root", "db_password"=>"", // config langauge [ar - en] "lang"=>'en' ];
这是一个设置文件,用于数据库和语言设置
验证
用于验证值
它有几个功能
语法
/* $arr=[ request name = > rules ] */ // example include 'vendor/autoload.php'; $validate=new ValidatorFilterPHP\ValidatorPHP(); $rules=[ 'name'=>'required|string|max_length:100|min_length:5', 'age'=>'required|number|max_val:60|min_val:10', 'email'=>'required|unique:users,email' ]; if(isset($_POST['submit'])){ $validate->Validator($rules); if($validate->has_error_validate()){ echo "<pre>"; print_r( $validate->has_error_validate()); }else{ // next request } }
语法说明
正如我们在前面的示例中所注意到的,我们写下请求的名称,然后是待验证的规则,每个规则通过使用 ' | ' 分隔
有许多规则需要写入值,例如 max_length,表示最小字符数,规则和值通过使用 ' : ' 分隔
规则
字符串
检查值是否为文本
数字
检查值是否为数字
URL
检查值是否为 URL
必填
检查值是否为空
选项
强制用户输入指定的值
从指定值的规则,但以这种方式编写
options:[option 1 , option 2 , .......]
// example 'category'=>'required|options:[car,laptop,mobile]'
IP
检查值是否为 IP
邮箱
检查值是否为邮箱
最大长度
检查允许的最大字符数
最小长度
检查允许的最小字符数
示例
// maximum length 100 characters // minimum length 5 characters 'name'=>'required|max_length:100|min_length:5'
最大值
检查允许的最大值
最小值
检查允许的最小值
// maximum value 60 // minimum value 20 'age'=>'required|max_val:60|min_val:20'
**注意:max_length 或 min_length 与字符串一起使用。max_val 和 min_val 与数字一起使用。此外,它们还检查是否为数字**
唯一且存在
在处理这些之前,请从 config/validator-filter-config.php 进行数据库设置
return [ // config database "db_host"=>"localhost", "db_connection"=>"mysql", "db_name"=>"filter-validate-php", "db_user"=>"root", "db_password"=>"", // config langauge "lang"=>'en' ];
唯一
验证值是否不在数据库中
语法
unique:table,column
// example 'email'=>'required|unique:users,email'
在这里,验证邮箱是否已存在于数据库中
**如果修改,则将唯一标识符与值一起发送以检查除发送者外的所有行,并按此方式写入:例如,id 字段名称为 tbl_id,然后值 tbl_id = 5**
// example if update data 'email'=>'required|unique:users,email,tbl_id=5'
如果字段名称为 id,则只需输入值
'email'=>'required|unique:users,email,5'
存在
语法
exists:table,column
验证值是否存在于数据库中
// example 'email'=>'required|unique:users,email'
过滤器
数据过滤器
语法
$obj->functionName($data)
// example $filter=new ValidatorFilterPHP\FilterPHP(); $str="<script>mahmoud abdelfadeil</script>"; $str_filter = $filter->string($str); echo $str_filter ; // output = mahmoud abdelfadeil
函数
字符串
$str="<script>mahmoud abdelfadeil</script>"; $str_filter = $filter->string($str); echo $str_filter ; // output = mahmoud abdelfadeil
num_int
整数
$data="<script>mahmoud 1299 abdelfadeil</script>"; $data_filter = $filter->num_int($data); echo $data_filter ; // output = 1299
num_float
浮点数
$data="12.99"; $data_filter = $filter->num_float($data); echo $data_filter ; // output = 1299
然而,这个函数接受第二个参数,即标志
标志可以是e、E、, 或 .
$data="12.99"; $data_filter = $filter->num_float($data,'.'); echo $data_filter ; // output = 12.99
$data="12,99"; $data_filter = $filter->num_float($data,','); echo $data_filter ; // output = 12,99
$data_1="12ee9e9"; $data_1_filter = $filter->num_float($data_1); echo $data_1_filter ; // output data 1 = 1299 $data_2="12ee9e9E"; $data_2_filter = $filter->num_float($data_2,'e'); echo $data_2_filter ; // output data 2 = 12ee9e9E $data_3="12ee9e9E"; $data_3_filter = $filter->num_float($data_3,'E'); echo $data_3_filter ; // output data 3 = 12ee9e9E
邮箱
$data="mahmoud . €¶€€¶€€¶€ abdelfadeil@test.test"; $data_filter = $filter->email($data); echo $data_filter ; // output data = mahmoud.abdelfadeil@test.test
URL
$data="mahmoud-abdelfadeil.€¶€¶€me"; $data_filter = $filter->url($data); echo $data_filter ; // output data = mahmoud-abdelfadeil.me
编码
$data="mahmoud-abdelfadeil.€¶€¶€me"; $data_filter = $filter->encoded($data); echo $data_filter ; // output data = mahmoud-abdelfadeil.%E2%82%AC%C2%B6%E2%82%AC%C2%B6%E2%82%ACme
magic_quotes
$data="mahmoud's here"; $data_filter = $filter->magic_quotes($data); echo $data_filter ; // output data = mahmoud\'s here
特殊字符
$data="<b>mahmoud abdelfadeil</b>"; $data_filter = $filter->special_char($data); echo $data_filter ; // output data = <b>mahmoud abdelfadeil</b>