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

And*_*son 9 validation entity symfony

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

定制验证约束重写基约束类(创建任何领域的任何类型的验证)

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

Wou*_*r J 7

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

回调

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

自定义验证器约束

  • 你可以在任何地方重复使用它(如@MrGlass所说,你甚至可以使用服务作为约束);
  • 它可以用在类和属性目标上;
  • 只能在出现故障时进行自定义,而不能在出现故障后进行自定义.