Symfony 2:形式上的条令约束


Symfony 2: Doctrine constraints in forms

我有一个字段为url的实体,在发送基于同一实体的表单时,该实体将被持久化到数据库。

我可以在validation.yml中对表单类型以及NotBlankUrl等自定义消息设置约束。没关系。但是,当我试图持久化DB中已经存在的实体时,我会收到一个错误,说该值已经存在(url)。

如何设置此UniqueEntity约束的自定义消息?

我尝试在validation.yml中添加UniqueEntity,但它在一个不同的命名空间中,我无法理解它是如何工作的,也无法理解如何设置它。默认情况下,它就在那里,因为url在原始实体注释中被定义为唯一字段,但如何更改错误消息??

我刚刚找到了自己问题的解决方案。

所有验证都可以在validation.yml中定义,但由于我使用注释来定义我的实体,所以最好将所有验证、消息等放在这些注释中。

可以为非空白字段设置@Assert'NotBlank,为唯一验证设置@ORM'UniqueEntity(message="my custom error")

很抱歉我的问题充斥着网站,但我希望有人会觉得这很有用。。

附言:注释或YML没有区别,设置是一样的。我想在我的情况下应该是这样的:

Namespace'Class:
    constraints:
        - Symfony'Bridge'Doctrine'Validator'Constraints'UniqueEntity:
            fields: url
            message: "My custom message"

它非常灵活,我想如果数据库中已经存在不同的字段,我们不知道如何设置不同的消息。。。