Symfony2覆盖约束

ple*_*ock 9 php symfony doctrine-orm

BaseEntity上课了:

class BaseEntity
{
    /**
     * The name.
     *
     * @var string
     *
     * @ORM\Column(name="name", type="string", length=255, unique=true, nullable=false)
     * @Assert\Length(min=2, max=255, minMessage="default.name.short", maxMessage="default.name.long")
     * @Assert\NotBlank(message = "default.name.not_blank")
     */
    private $name;
}
Run Code Online (Sandbox Code Playgroud)

class UserEntity extends BaseEntity
{
    /**
     * {@inheritDoc}
     *
     * @Assert\Length(min=2, max=255, minMessage="user.name.short", maxMessage="default.name.long")
     * @Assert\NotBlank(message = "user.name.not_blank")
     */
    private $name;
}
Run Code Online (Sandbox Code Playgroud)

现在,当我将一个新的帖子发布UserEntity到长或短名称的形式时,Symfony给了我2个错误:(很久:)

  • default.name.long
  • user.name.long

但我希望它只显示一个错误,所以: - user.name.long

例如,我想覆盖,但不要添加另一个

小智 0

如果您可以(取决于您的应用程序逻辑)删除这两个验证并创建自己的验证,也许自定义验证约束可以帮助您。

也许是这样的?

http://symfony.com/doc/current/cookbook/validation/custom_constraint.html