mahmoud-abdelfadeil/validator-filter-php

PHP 中用于验证和过滤的包

v1.1 2021-02-18 22:58 UTC

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 = &#60;b&#62;mahmoud abdelfadeil&#60;/b&#62;