buuum / requestcheck
过滤和验证数据
Requires
- php: >=7.1.0
Requires (Dev)
README
安装
系统要求
要使用 Buuum\RequestCheck,您需要 PHP >= 7.1.0,但推荐使用最新的稳定版 PHP。
Composer
Buuum\RequestCheck 可在 Packagist 上找到,并可以使用 Composer 进行安装
composer require buuum/requestcheck
手动
只要遵循 PSR-0 或 PSR-4 标准,您可以使用自己的自动加载器。只需将 src 目录的内容放入您的 vendor 目录中即可。
### 输入字段
输入
$name = new Input('name'); $name->setFilters([new FilterTrim()]); $name->setValidations([new ValidRequired()]);
INPUTOBJECT
$name = new Input('name'); $name->setFilters([new FilterTrim()]); $name->setValidations([new ValidRequired()]); $url = new Input('url'); $url->setValidations([new ValidRequired()]); $imageobject = new InputObject('image', new InputCollection([$name, $url])); $imageobject->setValidations([new ValidRequired()]);
INPUTARRAY
// Simple Array $url = new Input('url'); $url->setValidations([new ValidRequired()]); $urls = new InputArray('urls', $url); $urls->setValidations([new ValidRequired()]); // Array objects ... $images = new InputArray('urls', $imageobject); // Array arrays ... $images_array = new InputArray('images_array', $images);
如何使用
$data = [ 'name' => ' dr r rwe wed ', 'url' => ' url', ]; $fields = [$name, $url]; $request = new RequestCheck($data, new InputCollection($fields)); // return RequestResponse $response = $request->checkRequest(); if($response->isValid()){ // no errors var_dump($request->getData()); }else{ var_dump($response->getErrors()); }
过滤器
属性
移除所有属性
... $name->setFilters([new FilterAttributes()]);
自定义标签
移除自定义标签
- param1: 允许标签
... $name->setFilters([new FilterCustomTags('<p><a>')]);
电子邮件
返回过滤电子邮件
... $name->setFilters([new FilterEmail()]);
HtmlEncode
返回 htmlencode 数据
... $name->setFilters([new FilterHtmlEncode()]);
RemovePunctuation
移除标点符号
... $name->setFilters([new FilterRemovePunctuation()]);
Sanitize Number
清理数字数据
... $name->setFilters([new FilterSanitizeNumber()]);
字符串
清理字符串数据
... $name->setFilters([new FilterString()]);
Trim
修剪数据
... $name->setFilters([new FilterTrim()]);
UrlEncode
编码 URL
... $name->setFilters([new FilterUrlEncode()]);
Whole Number
整数
... $name->setFilters([new FilterWholeNumber()]);
Date
格式化日期
- param1: 字符串 input_format
- param2: 字符串 output_format
... $name->setFilters([new FilterDate('m/y', 'ym')]);
创建自定义过滤器
class FilterLetter implements Filter { protected $letter; public function __construct($letter) { $this->letter = $letter; } public function filter($data) { return str_replace($this->letter,'', $data); } } ... $name->setFilters([new FilterLetter('a')]);
验证器
REQUIRED
检查输入是否存在
- param1: 字符串(自定义消息)
... $name->setValidations([new ValidRequired()]);
电子邮件
检查输入是否为有效的电子邮件
- param1: 字符串(自定义消息)
... $name->setValidations([new ValidEmail()]); ### Integer Check if input is a valid integer - param1: string (custom message) ```php ... $name->setValidations([new ValidInteger()]);
Exact
检查输入值是否与值精确匹配
- param1: int value to exact
- param2: 字符串(自定义消息)
... $name->setValidations([new ValidExact(34)]);
Exact Length
检查输入值是否具有确切长度
- param1: int length
- param2: 字符串(自定义消息)
... $name->setValidations([new ValidExactLength(34)]);
MAX
检查输入值是否为最大值
- param1: int value max
- param2: 字符串(自定义消息)
... $name->setValidations([new ValidMax(34)]);
MIN
检查输入值是否为最小值
- param1: int value min
- param2: 字符串(自定义消息)
... $name->setValidations([new ValidMin(34)]);
MAXLENGTH
检查输入值是否为最大值
- param1: int value max
- param2: 字符串(自定义消息)
... $name->setValidations([new ValidMaxLength(34)]);
MINLENGTH
检查输入值是否为最小值
- param1: int value min
- param2: 字符串(自定义消息)
... $name->setValidations([new ValidMinLength(34)]);
REGEX
检查输入是否通过正则表达式有效
- param1: 字符串 regex
- param2: 字符串(自定义消息)
预定义正则表达式
- NUMERIC
- ALPHA
- ALPHA_NUMERIC
- ALPHA_SPACE
- ALPHA_NUMERIC_SPACE
- SLUG
... $name->setValidations([new ValidRegex(ValidRegex::NUMERIC)]);
URL
检查输入是否为有效 URL
- param1: 字符串(自定义消息)
... $name->setValidations([new ValiUrl(34)]);
Contains
检查字符串是否包含数组中的任何值
- param1: 数组
- param2: 字符串(自定义消息)
... $words = ['blue', 'yellow']; $name->setValidations([new ValidContains($words)]);
Date
检查输入是否为有效日期
- param1: 字符串日期格式
- param2: 字符串(自定义消息)
... $format = 'Y/m/d'; $name->setValidations([new ValidDate($format)]);
LICENSE
The MIT License (MIT)
版权所有 (c) 2017
特此授予任何获得本软件及其相关文档副本(以下简称“软件”)的人免费使用软件的权利,不受任何限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许将软件提供给他人,以便他们可以这样做,前提是遵守以下条件
上述版权声明和本许可声明应包含在软件的副本或实质性部分中。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、针对特定目的的适用性和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论这些索赔、损害或其他责任是基于合同、侵权或其他方式引起的,无论这些索赔、损害或其他责任是否与软件或其使用或其他方式相关。