markwilson / symfony2-validator-priority-chain
此包已被放弃,不再维护。没有建议的替代包。
在 Symfony2 验证器组件中对验证器约束进行优先级排序的链
2.2.0
2013-12-11 13:50 UTC
Requires
- symfony/validator: 2.2.x
This package is not auto-updated.
Last update: 2021-01-23 09:25:20 UTC
README
注意:目前仅适用于验证器组件 2.2.x
在 Symfony2 验证器组件中对验证器约束进行优先级排序的链。增加了根据约束队列停止进一步验证的能力。例如:验证变量是否为数组,然后验证数组中是否包含键。默认的 Symfony 验证器组件行为是完成每个验证约束。
安装
将 markwilson/symfony2-validator-priority-chain
添加到 composer.json 的 requires 部分。
用法
PriorityChain
需要一个 constraint
选项,它可以是数组(按优先级顺序排列,优先级最高在前),或者 SplPriorityQueue。队列中的每个项目必须是 Constraint
实例。默认情况下,验证器将遍历每个约束,直到发生错误(这可以通过 stopOnError
选项来更改)。
例如。
use MarkWilson\Validator\Constraints\PriorityChain; use Symfony\Component\Validator\Constraints as Assert; use Symfony\Component\Validator\Validation; $queue = new \SplPriorityQueue(); $queue->insert(new Assert\Type('array'), 2); $queue->insert(new Assert\NotBlank(), 1); $constraint = new PriorityChain(array('constraints' => $queue)); $validator = Validation::createValidator(); $validator->validateValue($value, $constraint);