java - 如何从 i18n 获取自定义消息到模型

标签 java playframework

我想为这样的约束设置消息

import play.i18n.Messages;

public class User extends Model {

    @Constraints.Required(message = @Messages.get("validation.required"))
    private String login;

但它不起作用。

最佳答案

如果您想指定自定义验证消息,则必须首先在 conf 目录中创建一个名为 messages 的文件,其中包含您的自定义消息。请查看文档here

然后,假设您有一个如下所示的模型:

public class MyModel extends Model {

    @Constraints.MaxLength(value = 4, message = "validation.limit")
    @Constraints.Required
    @Column(name = "column_name")
    public String columnName;
}

messages 文件包含如下内容:

validation.limit=Please limit the input
validation.required=This field is required to fill

请注意,我用 message"validation.limit"messages 标记了 @Constraint.MaxLength > 文件我用请限制输入消息指定该值。

您可以找到:

  • 如果您输入的columnName值的字符串长度大于4,您将收到验证消息请限制输入 。 (对应于 messages 文件中的键 validation.limit)

  • 如果您在 columnName 上提交空值,您将收到验证消息此字段需要填写。请注意,validation.required@Required 注释的默认消息键。

希望它对你有用..;)

关于java - 如何从 i18n 获取自定义消息到模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16339925/

相关文章:

database - 使用 H2 玩框架 - 需要简单的教程

scala - Play 2 Scala - 使用 Iteratee 上传大型 CSV 文件以便 react 性地处理每一行的最佳方式

java - 在 Play Framework 中使用单个函数插入/更新数据库

java - 连接到 https 站点时发生 SSLHandshakeException

java - 无需通过 BigDecimal 即可获得 double 的纯字符串表示形式

java - 从本地服务器数据库到嵌入式数据库

java - 是否有 Array.newInstance 的通用版本?

java - 关闭 Play Framework 2 中的 MemCachedClient 日志记录

scala - 为什么单个 Play Framework 应用程序中有许多 "target"文件夹?

java - 重置从文件加载的 Java AudioInputStream