seorc / phpiv
一个简单的PHP输入验证工具集。
v0.3.0
2016-11-11 21:11 UTC
Requires (Dev)
- phpunit/phpunit: ^4.8
This package is not auto-updated.
Last update: 2024-09-28 16:11:37 UTC
README
这是一个非常小的PHP验证器,旨在提供易于使用的界面和一些与其他工具集成的机制。以下是它的工作方式:
-
创建一个包含值的关联数组。
-
为该数组中的每个值创建一个验证器。首选的方法是将所有的验证器分组在ValidatorSet中。
-
将ValidatorSet应用于数组。ValidationError会告诉你数组中的一个或多个字段根据你定义的规则是不合法的。
-
通过在捕获的异常实例上调用ValidationError::getErrors(),获取与相应字段关联的错误集。
请查看测试以获取如何在代码中实现这些的提示。我计划在未来的提交中添加一些实际示例。
这个验证器的设计模仿了其他框架的做法。我创建它是为了给小型项目和娱乐提供一个简单的验证工具包。
简单示例
<?php require __DIR__ . '/../vendor/autoload.php'; use Phpiv\ValidatorSet; use Phpiv\ValidationError; $validateThis = array( 'name' => 'John Doe', 'rating' => '6', 'comment' => 'This is too short.', 'email_address' => 'not an email address' ); $vs = new ValidatorSet(); $vs->add('string', 'name') ->required(); $vs->add('number', 'age') ->required(); $vs->add('number', 'rating') ->min(1) ->max(5); $vs->add('string', 'comment') ->length(20, 100) ->required(); $vs->add('email', 'email_address') ->required(); try { $vs->check($validateThis); } catch(ValidationError $e) { print_r($e->getErrors()); } /* The output is: Array ( [age] => Array ( [0] => Es requerido ) [rating] => Array ( [0] => No puede ser mayor de 5 ) [comment] => Array ( [0] => Debe tener 20 caracteres como mínimo ) [email_address] => Array ( [0] => No es un email válido ) ) */
测试
您需要PHPUnit来运行测试。它包含在composer.json
中作为开发依赖项。您可以通过以下方式运行测试:
./vendor/bin/phpunit