在 Symfony 中使用 OR 逻辑针对多个约束进行验证
Validate against several constraints with OR logic in Symfony
我在请求中有一个字段可以是电子邮件或 phone。现在我需要根据两个约束对其进行验证 - 标准电子邮件约束和自定义 phone。我知道我可以传递一组约束 link this:
$constraint = new Constraints\Collection([
'name' => new Constraints\NotBlank(),
'uid' => [new Constraints\Email(), new Constraints\Phone()],
'pass' => new Constraints\NotBlank()
]);
但是 Validator 将 AND 逻辑应用于约束数组,我需要 OR 以便如果值符合其中之一,则验证成功。这可以通过任何标准的 Symfony 方式实现吗?
Create a custom validator 并使用现有约束实现您自己的逻辑。
据我所知,除此之外别无他法。
对此有一个特殊的约束:https://symfony.com/doc/current/reference/constraints/AtLeastOneOf.html
我在请求中有一个字段可以是电子邮件或 phone。现在我需要根据两个约束对其进行验证 - 标准电子邮件约束和自定义 phone。我知道我可以传递一组约束 link this:
$constraint = new Constraints\Collection([
'name' => new Constraints\NotBlank(),
'uid' => [new Constraints\Email(), new Constraints\Phone()],
'pass' => new Constraints\NotBlank()
]);
但是 Validator 将 AND 逻辑应用于约束数组,我需要 OR 以便如果值符合其中之一,则验证成功。这可以通过任何标准的 Symfony 方式实现吗?
Create a custom validator 并使用现有约束实现您自己的逻辑。 据我所知,除此之外别无他法。
对此有一个特殊的约束:https://symfony.com/doc/current/reference/constraints/AtLeastOneOf.html