kubinyete / assertation
此软件包最新版本(1.0.4)没有提供许可证信息。
提供 Assert 类,使您能够验证数据
1.0.4
2023-12-22 20:45 UTC
Requires (Dev)
- phpunit/phpunit: ^9.5
- symfony/var-dumper: ^5.4
README
Assertation 是一个免费且易于使用的验证库,它旨在允许更丰富的语法,同时在应用数据验证时保持断言导向的方法。
入门
要开始使用,请直接使用我们的软件包并通过 Composer 安装
composer require kubinyete/assertation
用法
首先,我们可以通过查看一些示例和比较来理解此方法的目标,以下是在使用和不使用 assertation
的情况下等效验证的一些示例。
$data = ' Spaced text '; // This validation: $validated = ($data = trim($data)) && strlen($data) > 2; if (!$validated) { throw new UnexpectedValueException('Data is required with at least 2 characters'); } // Is equivalent to: $data = Assert::value($data)->asTrim()->lgt(2)->validate()->get(); // And also equivalent to: $data = Assert::value($data)->rules('asTrim;lgt,2')->get();
以下示例是一个更复杂的验证,对于简单的验证,原生的方法更容易实现,但当我们验证规则变得更加复杂时,assertation
可以轻松地以更丰富的表达方式验证和修改我们的数据。
$data = Assert::value($data)->rules('null|str;asTrim;asUppercase;asTruncate,100;lgt,1')->get(); // Data can either be null or a string that has a minimum of 1 character and has every character in uppercase // while limiting the maximum size to 100 characters with a ellipsis cutoff. $data = Assert::value($data)->rules('null|float|asDecimal')->get(); // Data can either be null, a float or a string with a decimal number (Ex: 123.23). $data = Assert::value($data)->null()->or()->asUppercase()->asTrim()->in(['HELLO', 'WORLD'])->get(); // Data can either be null or be 'hello' or 'world' with case insensitivity, resulting only in a upper case result.