【问题标题】:Bean Validation and error messages at .properties file.properties 文件中的 Bean 验证和错误消息
【发布时间】:2011-01-15 04:28:02
【问题描述】:

我正在使用 Glassfish 开发 JSF Projekt。我的验证效果很好,但我没有成为自定义错误消息。

//Class = User, package = devteam
@NotEmpty @Pattern(".+@.+\\.[a-z]+")
private String emailAddress;

我的 ValidationMessages.properties 位于带有以下内容的 WEB-INF 文件夹中:

devteam.User.emailAddress=Invalid e-mail address

谢谢。

【问题讨论】:

    标签: jsf glassfish bean-validation


    【解决方案1】:

    这里有两个问题。首先,ValidationMessages.properties 文件的位置。它必须在类路径的根目录中,所以将它移动到 WEB-INF/classes 您的第二个问题是消息键。例如,模式约束的默认消息键是 {javax.validation.constraints.Pattern.message}。在您的情况下,您想在 @Pattern 注释中指定消息参数:

    @Pattern(regexp=".+@.+\\.[a-z]+", message="{devteam.User.emailAddress}")
    

    【讨论】:

    • 我没有使用tomcat,所以无法将属性文件添加到WEB-INF/classes。相反,我在 eclipse 中做一个 scala 项目,但我不能让它使用属性文件。您会在标准 Eclipse 项目中的何处添加属性文件?
    • @Marius,存档根目录
    • @Hardy 我创建了另一个关于它的问题:stackoverflow.com/questions/15748884/…
    【解决方案2】:

    你应该把文件放在根目录下,然后

    devteam.User.emailAddress[Pattern] = "Your message here"
    

    notice [Pattern] 指定当 Pattern 违反约束时要输出的消息。 在我看来,这比拥有类似

    的消息更容易维护
    @Patterh(regexp ="xx", message = "your message here")
    

    对于每个二传手

    【讨论】:

      猜你喜欢
      • 2020-06-20
      • 2017-08-15
      • 2023-03-08
      • 2011-05-31
      • 2013-11-19
      • 1970-01-01
      • 1970-01-01
      • 2012-06-30
      • 1970-01-01
      相关资源
      最近更新 更多