使用symfony 2.7验证标准表单的2个字段的最佳方法

时间:2015-09-28 14:23:19

标签: php forms validation symfony

我有一个标准表单(没有对象),我需要检查field1<域2。如果不是,我想在表单中显示错误,就像我在使用对象的表单验证时一样。

我红色http://symfony.com/doc/current/book/validation.html#validating-values-and-arrays但它是断言约束。我的具体是。

我也红了http://symfony.com/doc/current/book/forms.html#adding-validation。但是再次使用约束验证。

也许我需要使用它:http://symfony.com/doc/current/cookbook/validation/custom_constraint.html

感谢您的建议

1 个答案:

答案 0 :(得分:0)

经过一番研究,这是我的解决方案。

在我的控制器中,如果我的条件为真,那么我使用代码设置错误并返回表单。这样,我看到了特定字段的错误。

use Symfony\Component\Form\FormError;

...

$form = $this->createForm(new formType());

$form->get('my-field')->addError(new FormError($this->get('translator')->trans('error.message.greather.than')));

return $this->render('MyBundle:Default:search.html.twig', array('form' => $form->createView()));

我不确定这是最好的方式,但它对我有用。