Filter
<br/>
>i 本文档的最新修订日期是:
> **2022-12-30**
# Filter
## 模块简述
对数据进行校验。
## 模块配置
配置文件位于 <font color="#c7254e">`/config/core/Filter.php`</font> 。
* **<font color="#ff6600">`rule`</font>** <font color="#0099ff">`(Array)`</font> <font color="#bbbbbb">`[...]`</font> :
用以指定验证规则。
值为一个一维数组,数组的<font color="#c7254e">`键`</font> 为规则的名称,<font color="#c7254e">`值`</font> 为正则表达式字符串。
## :: byMode()方法
### 语法
**<font color="#0099ff"><font color="#ff6600">Filter</font> :: <font color="#ff6600">byMode</font> ( <kbd>传参数组</kbd> )</font>**
### 说明
对来自GET/POST/HEADER的数据的进行校验。
此方法 <font color="#c7254e">`支持`</font> 中文参数名。
### 参数
* **<font color="#ff6600">`field(字段)`</font>** <font color="#0099ff">`(Array)`</font> <font color="#BBBBBB">`必须`</font>:
指定字段和校验规则。
此参数为一个一维数组,数组的键为 <font color="#c7254e">`字段名`</font> ,值为 <font color="#c7254e">`非空检查[,最小长度] [,最大长度] [,校验规则]`</font> 的字符串。
其中,<font color="#c7254e">`字段名`</font> 为需要检查的字段名称,<font color="#c7254e">`非空检查`</font> 为检查字段对应的值是否为空(值为 <font color="#c7254e">`TRUE`</font> 或 <font color="#c7254e">`FALSE`</font> ),<font color="#c7254e">`最小长度`</font> 为字段允许的值的最小长度,<font color="#c7254e">`最大长度`</font> 为字段允许的值的最大长度( <font color="#c7254e">`0`</font> 为不限制),<font color="#c7254e">`校验规则`</font> 为模块配置项 <font color="#c7254e">`Rule`</font> 中所定义的校验规则。
模块配置项 <font color="#c7254e">`Rule`</font> 中已经预先提供了常用的中国大陆电话号码、身份证号码等格式的校验规则,详情见本模块配置文件中此配置项内的注释说明。
* **<font color="#ff6600">`optional(可选)`</font>** <font color="#0099ff">`(Array)`</font> <font color="#bbbbbb">`[]`</font>:
用以指定可选(非必须)的字段。
此参数为一个一维数组,数组的键无需定义,值为 <font color="#c7254e">`字段名`</font> 的字符串。
若某个字段在本参数数组元素内,则仅当该字段存在时才进行校验。
* **<font color="#ff6600">`mode(模式)`</font>** <font color="#0099ff">`(String)`</font> <font color="#bbbbbb">`必须`</font>:
用以指定数据的来源。
此参数的必须是 <font color="#c7254e">`GET/POST/HEADER`</font> 中的一个。
### 返回
<font color="#0099ff">`(Bool)`</font> 类型。
<font color="#c7254e">`TRUE`</font> 代表校验通过、<font color="#c7254e">`FALSE`</font> 代表校验未通过。
## :: byData()方法
### 语法
**<font color="#0099ff"><font color="#ff6600">Filter</font> :: <font color="#ff6600">byData</font> ( <kbd>传参数组</kbd> )</font>**
### 说明
对传入数据的进行校验。
此方法 <font color="#c7254e">`支持`</font> 中文参数名。
### 参数
* **<font color="#ff6600">`data(数据)`</font>** <font color="#0099ff">`(String)`</font> <font color="#bbbbbb">`必须`</font>:
用以指定需要校验的数据。
* **<font color="#ff6600">`check(校验)`</font>** <font color="#0099ff">`(String)`</font> <font color="#BBBBBB">`必须`</font>:
指定校验规则。
此参数的值为 <font color="#c7254e">`非空检查[,最小长度] [,最大长度] [,校验规则]`</font> 的字符串。
其中,<font color="#c7254e">`非空检查`</font> 为检查字段对应的值是否为空(值为 <font color="#c7254e">`TRUE`</font> 或 <font color="#c7254e">`FALSE`</font> ),<font color="#c7254e">`最小长度`</font> 为字段允许的值的最小长度,<font color="#c7254e">`最大长度`</font> 为字段允许的值的最大长度,<font color="#c7254e">`校验规则`</font> 为模块配置项 <font color="#c7254e">`Rule`</font> 中所定义的校验规则。
模块配置项 <font color="#c7254e">`Rule`</font> 中已经预先提供了常用的中国大陆电话号码、身份证号码等格式的校验规则,详情见本模块配置文件中此配置项内的注释说明。
### 返回
<font color="#0099ff">`(Bool)`</font> 类型。
<font color="#c7254e">`TRUE`</font> 代表校验通过、<font color="#c7254e">`FALSE`</font> 代表校验未通过。