在 symfony2 中添加来自控制器的字段特定错误

2022-08-30 15:13:36

我对我的symfony表单进行了一些复杂的验证,我需要能够从我的控制器中为特定字段分配错误。现在,我有全局错误,如下所示:

$error = new formerror("There is an error with the form");
$form->addError($error);

但这会产生一个全局错误,而不是一个绑定到特定字段的错误。

有没有办法从我的控制器对特定字段抛出错误?


答案 1

感谢IRC的一些帮助(感谢@fkrauthan!我想出了一个答案。

SF2 中的每个字段实际上都是表单的一个实例。您需要做的是访问字段的表单对象,然后在其上添加错误。值得庆幸的是,symfony提供了一种获取嵌入式表单/字段的方法。

这是我的代码:

$error = new FormError("There is an error with the field");
$form->get('field')->addError($error);

正如一些人所指出的,您需要在文件顶部包含 FormError 类:use Symfony\Component\Form\FormError;


答案 2

推荐