Symfony2将实体验证约束应用于等效表单类型

时间:2014-12-17 10:50:46

标签: forms validation symfony entity

有没有办法使用相同的validation.yml,因此应用于entites的约束也应用于formtype

例如,如果实体中的标题字段是50个最大长度,那么formttype中的标题字段应该具有相同的约束(至少在我的情况下)

所以我们可以避免在formtype的add-method中指定最大长度,如此,

$builder->add("title", "text", array('max_length' => 50));

总结

如何在formtype中使用实体验证约束,以便自动应用相同的约束(必需,最大长度等)?

我想知道如何获取验证器服务并将其转换为formtype类中的数组......这是一个好方法吗?

但这种方法让我阅读每种形式的每个实体的enity验证器.....

1 个答案:

答案 0 :(得分:1)

您可以在您的实体上设置验证,并在此实体调用时进行验证:

use Symfony\Component\Validator\Constraints as Assert;

并在注释评论中添加:

@Assert\Length(max="255",maxMessage = "Title cannot be longer than {{ limit }} characters length")