提问者:小点点

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


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

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

所以我们可以避免像这样在formtype的add-method中指定max长度,

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

综上所述

如何在表单类型中使用实体验证约束,以便自动应用相同的约束(必填、最大长度等)?

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

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


共1个答案

匿名用户

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

use Symfony\Component\Validator\Constraints as Assert;

并在您的注释注释中添加:

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