melhorenvio / range-validator
Requires
- php: >= 7.1
Requires (Dev)
- orchestra/testbench: 3.8.*|4.*|5.*|6.*
- phpunit/phpunit: ^7.0
This package is auto-updated.
Last update: 2024-08-27 21:01:14 UTC
README
此包的目的是验证传递的数组范围,并使用消息和错误代码定义无效的范围。然而,如果传递的范围没有问题,该方法将定义一个成功消息。
安装
您可以通过 composer 安装此包。
composer require melhorenvio/range-validator
用法
首先,您需要实例化一个 RangeValidator 类型的变量。
$rangeValidator = new RangeValidator();
您需要设置 RangeValidator 依赖项。
use Melhorenvio\RangeValidator\RangeValidator;
setRanges() 和 addRanges() 方法接受一个参数,此参数必须是以下格式显示的数组。
$ranges = [ 'begin' => '12345678', 'end' => '87654321' ];
"begin" 和 "end" 值必须是 String 或 Integer 类型,否则将显示错误消息而不是无效范围。
setRanges() 方法将定义通过参数传递的值作为参数的范围,它将覆盖已设置的其它范围。
$rangeValidator->setRanges($range);
addRanges() 方法与 setRanges() 函数执行相同的操作,但它不会覆盖已设置的其它范围。
$rangeValidator->addRanges($range);
checkEmpty() 方法将响应设置为具有空值的范围。
$rangeValidator->checkEmpty();
checkBeginBiggerThanEnd() 方法将响应设置为起始值大于结束值的范围。
$rangeValidator->checkBeginBiggerThanEnd();
checkRepeated() 方法将响应设置为出现次数超过一次的范围。
$rangeValidator->checkRepeated();
checkOverlapping() 方法将响应设置为与其他范围重叠的范围。
$rangeValidator->checkOverlapping();
useAirport() 方法将使验证器在查找重叠时考虑范围是否属于同一机场。如果范围属于同一机场,验证器将不考虑重叠。
$rangeValidator->useAirport();
在这种情况下,如果启用 useAirport 方法,setRanges() 和 addRanges() 的参数将发生变化,因为将添加字符串参数 'airport'。因此,数组的格式将如下所示。
$ranges = [ 'begin' => '12345678', 'end' => '87654321', 'airport' => 'AirportOne' ];
validate() 方法将真正验证范围并返回响应,没有此方法验证将不会工作。如果您设置了上述一个或多个检查方法,验证器将只考虑设置的属性;如果您没有设置任何一个,验证器将考虑所有属性。
$rangeValidator->validate();
getResponse() 方法将以数组形式返回响应属性。
$rangeValidator->getResponse();
getRanges() 方法将以数组形式返回范围属性。
$rangeValidator->getRanges();
响应属性将是一个包含 "message"、"code" 和(如果有)"data" 属性的数组数组,如下所示。
[ 'message' => String, 'code' => Int, 'data' => Array ]
如果未使用 getResponse() 或 getRanges() 方法,则这些方法将返回 RangeValidator 实例对象。