symfony2回调和自定义验证约束之间的区别

时间:2013-03-04 15:42:14

标签: validation symfony entity

据我所知, callback 是一种约束,您可以自定义并设置为任何类型验证的任何字段。

custom validation constraint 会覆盖基本约束类(在任何字段上创建任何类型的验证)

我只是不确定区别是什么,为什么我会使用一个而不是另一个? 是否有性能差异?

1 个答案:

答案 0 :(得分:7)

我没有对表单组件进行过多的研究以了解任何性能差异,但除此之外,为什么你应该选择其中一个:

回调

  • 它旨在自定义整个验证过程,而不仅仅是约束。例如,您可以设置需要显示错误的位置;
  • 目标始终一个类,您不能在属性上使用它;
  • 您不能重复使用它,它只能在该类/实体上使用。

自定义验证器约束

  • 你可以在任何地方重复使用它(如@MrGlass所说,你甚至可以使用服务作为约束);
  • 它可用于类和属性目标;
  • 您可以在某些内容失败时进行自定义,而不是在失败后进行自定义。