php – 基于Symfony2中其他字段值的字段条件验证

前端之家收集整理的这篇文章主要介绍了php – 基于Symfony2中其他字段值的字段条件验证前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
所以这是场景:我有一个单选按钮组.基于它们的价值,我应该或不应该验证其他三个字段(它们是空白的,它们是否包含数字等).

我可以以某种方式将所有这些值传递给约束,并在那里进行比较吗?

或者直接在控制器中回调是解决这个问题的更好方法吗?

一般来说,这种情况下的最佳做法是什么?

我建议你使用 callback validator.

例如,在您的实体类中:

  1. <?PHP
  2.  
  3. use Symfony\Component\Validator\Constraints as Assert;
  4.  
  5. /**
  6. * @Assert\Callback(methods={"myValidation"})
  7. */
  8. class Setting {
  9. public function myValidation(ExecutionContextInterface $context)
  10. {
  11. if (
  12. $this->getRadioSelection() == '1' // RAdio SELECT EXAMPLE
  13. &&
  14. ( // CHECK OTHER PARAMS
  15. $this->getFiled1() == null
  16. )
  17. )
  18. {
  19. $context->addViolation('mandatory params');
  20. }
  21. // put some other validation rule here
  22. }
  23. }

否则,您可以按照here所述构建自己的自定义验证器.

让我知道您需要更多信息.

希望这可以帮助.

猜你在找的PHP相关文章