我使用symfony表单创建一个表单并对其进行验证。但是我想在页面加载本身时预先验证表单,即。验证表单而不发布。有可能在symfony中做到这一点吗?
我试图在帖子的其他部分使用$form1->isValid();
。但它不起作用。我也尝试使用submit()
,
$data = $form1->getData();
$form1->submit($data);
$form1->isValid();
但没有成功
*表单字段是动态的,验证也是动态的。因此,预加载的表单可以具有错误字段。
您可以做的肯定是手动实体验证。我可以想象这样的情况,当您不能信任已经保存在数据库中的数据,或者您希望在将对象提供给用户编辑之前使用来自其他来源的数据(外部请求响应)预填充对象。
请在此处阅读有关验证的文档:http://symfony.com/doc/current/book/validation.html
可能的代码:
$author = new Author();
// ... do something to the $author object
$validator = $this->get('validator');
$errors = $validator->validate($author);
在这种情况下,您不使用 FormType 中的约束,而是使用验证程序约束(它们可以在实体中声明 - 它们也将由 FormType 使用): http://symfony.com/doc/current/book/validation.html#constraints