验证没有帖子的symfony表单

时间:2016-03-03 13:51:14

标签: php forms symfony

我使用symfony表单创建表单并验证它。但我想预先验证页面加载本身的表单,即。验证表格没有发布。是否有可能在symfony中做到这一点?

我尝试在帖子的其他部分使用$form1->isValid();。但它不起作用。 我还尝试使用submit()

$data = $form1->getData();
$form1->submit($data);
$form1->isValid();

但没有成功

*表单字段是动态的,验证也是动态的。因此,预加载的表单可以包含错误字段。

1 个答案:

答案 0 :(得分:0)

您可以做的是确保手动实体验证。我可以想象当你不能信任已经保存在数据库中的数据的情况,或者你希望在给用户编辑之前用其他来源的数据(外部请求响应)预先填充对象。

请在此处阅读有关验证的文档: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