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

时间:2013-05-02 13:55:06

标签: java playframework

我想像这样设置Constraint的消息

import play.i18n.Messages;

public class User extends Model {

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

但它不起作用。

1 个答案:

答案 0 :(得分:2)

如果要指定自定义验证消息,则必须首先在messages目录中创建包含自定义消息的名为conf的文件。请查看文档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

请注意,我将@Constraint.MaxLength标记为message"validation.limit",并在messages文件上使用Please limit the input消息指定该值。

你可以找到:

  • 如果您使用长度大于columnName的字符串输入4值,则会收到验证消息Please limit the input。 (对应于validation.limit文件上的密钥messages

  • 如果您在columnName上提交空值,则会收到验证消息This field is required to fill。请注意,validation.required@Required注释的默认消息键。

希望它对你有用..;)