Php Symfony表单:自定义错误消息,但不更改validation.yml中的验证规则

Php Symfony表单:自定义错误消息,但不更改validation.yml中的验证规则,php,validation,symfony,Php,Validation,Symfony,是否可以在不更改验证规则的情况下修改validation.yml(或其他地方)中的默认错误消息(“此值无效”) 原因:我有一个字段,由数据库中的id填充(通过Symfony实体)。因此,验证已经内置。但是我想要一个自定义消息 注意:这里有一种全局更改消息的方法,但我想按字段分别设置。 您可以对实体使用验证,并在实体中为字段设置验证消息。大概是这样的: # src/Acme/BlogBundle/Resources/config/validation.yml Acme\BlogBundle\Ent

是否可以在不更改验证规则的情况下修改validation.yml(或其他地方)中的默认错误消息(“此值无效”)

原因:我有一个字段,由数据库中的id填充(通过Symfony实体)。因此,验证已经内置。但是我想要一个自定义消息

注意:这里有一种全局更改消息的方法,但我想按字段分别设置。

您可以对实体使用验证,并在实体中为字段设置验证消息。大概是这样的:

# src/Acme/BlogBundle/Resources/config/validation.yml
Acme\BlogBundle\Entity\Author:
    properties:
        gender:
            - Choice: { choices: [male, female], message: "Choose a valid gender." }

也可以对注释或任何其他实体配置执行相同的操作。翻译也可以使用与全局错误消息相同的方法。请参阅Symfony Book Validation一章中的详细信息:

您可以对您的实体使用验证,并为其中的字段设置验证消息。大概是这样的:

# src/Acme/BlogBundle/Resources/config/validation.yml
Acme\BlogBundle\Entity\Author:
    properties:
        gender:
            - Choice: { choices: [male, female], message: "Choose a valid gender." }

也可以对注释或任何其他实体配置执行相同的操作。翻译也可以使用与全局错误消息相同的方法。请参阅Symfony Book Validation一章中的详细信息:

如果im正确,您也可以翻译“此值无效”消息:

验证器
author.name.not_空白:请输入作者姓名

如果im正确,您也可以翻译“此值无效”消息:

验证器
author.name.not_空白:请输入作者姓名

对于有意在选择字段中输入无效数据的用户,您真的需要一条好的验证消息吗?对于有意在选择字段中输入无效数据的用户,您真的需要一条好的验证消息吗?但是选择(在您的示例中[男性,女性])在数据库中。因此,我不能在yml文件中列出它们。请记住,这只是一个示例,在您的情况下,您可以只有消息选项,只有当您希望使用以下两个选项限制输入时,才应该给出选项。还有一件事,您将把这个验证内容放在您的实体上,以及如何在FormType类中设置这个实体。如果您在实体中使用注释,那么您可以有如下内容:可能您不应该使用@Assert/Choice,在您的情况下,最好使用@Assert/NotBlank?取决于您要检查的内容,并为该情况设置消息。更重要的是,您可以一次检查多个内容,并为每个案例设置消息。但是选择(在您的示例中,[男性,女性])在数据库中。因此,我不能在yml文件中列出它们。请记住,这只是一个示例,在您的情况下,您可以只有消息选项,只有当您希望使用以下两个选项限制输入时,才应该给出选项。还有一件事,您将把这个验证内容放在您的实体上,以及如何在FormType类中设置这个实体。如果您在实体中使用注释,那么您可以有如下内容:可能您不应该使用@Assert/Choice,在您的情况下,最好使用@Assert/NotBlank?取决于您要检查的内容,并为该情况设置消息。更重要的是,您可以一次检查多个内容,并为每个案例设置消息。