尽力解释这个......
在我的应用中,当用户最初加载表单时,我需要在表单上显示验证错误。简而言之,他们已输入数据并保存,但现在已经检查了数据,我们已经检测到他们需要纠正的错误才能完全提交表单。 (它的多步骤形式可以在多个会话中填写......请大胆思考。)
以前我做过类似的事情:
这在SYMFONY工作> = 2.8.10 See this answer
$entity // passed in as param on action method
$form = $this->createForm(..., $entity);
$csrfToken = 'random_string'; // retrieved from FormConfigInterface
// perform the submit but don't clear missing
$form->submit(['_token' => $csrfToken], false);
这很有效,但似乎在Symfony 2.8.10+中已经破解,但在2.8.9中有效。在2.8.10+中没有验证错误(表单被认为是有效的)。
我能够在ConstraintViolationListInterface
中检索验证错误,但我无法找到合并"合并"与形式(我认为这将是首选的方式)。因为我不能,所以我尝试了上面的"假的"提交表格......这似乎是一个坏主意。
有更好/正确的方法吗?
(注意:表单要复杂得多,并且包含验证组......但我现在并不关心2.8.10+中的错误或错误。)