【问题标题】:How to use custom error messages in Hibernate Validator without spring?如何在没有弹簧的 Hibernate Validator 中使用自定义错误消息?
【发布时间】:2016-05-08 23:22:00
【问题描述】:

是否可以在不使用 spring 框架的情况下在单独的文件中包含自定义错误消息? 我正在使用 hibernate 5+、jersey、jackson 和 hibernate-validator 5.2.2.Final 开发 API 以进行验证。我发现我需要使用自定义错误消息来声明文件,但我不知道在哪里做。

我的代码应该是什么样子的例子:

public class Account {

    private int id;
        @NotNull(message = "{account.name.null}")
        @Length(min = 1, max = 150, message = "{account.name.length}")
    private String name;
        @NotNull(message = "{account.lastname.null}")
        @Length(min = 1, max = 150, message = "{account.lastname.length}")
    private String lastName;

errorMessages.xml 文件的结构为:

account.name.null= Name value is missing.
account.name.length= Name has to be between {min} and {max}.

经过测试的方法

我已经尝试过使用静态最终变量,但我无法使用方法返回消息:

public class ValidationMessages {

    //ACCOUNT
    public static String ACCOUNT_NAME_LENGTH(int min, int max)
    {
        return "Name has to be between "+min+" and "+max+".";
    } 
    public static final String ACCOUNT_NAME_NULL = "Name value is missing.";


public class Account {

    private int id;
        @NotNull(message = ValidationMessages.ACCOUNT_NAME_NULL)
        @Length(min = 1, max = 150 message =ValidationMessages.ACCOUNT_NAME_LENGTH(1,150))
    private String name;
        @NotNull(message = ValidationMessages.ACCOUNT_LASTNAME_NULL)
        @Length(min = 1, max = 150 message = ValidationMessages.ACCOUNT_NAME_LENGTH(1,150))
    private String lastName;

【问题讨论】:

    标签: java hibernate validation


    【解决方案1】:

    errorMessages.xml 必须重命名为 .properties,我必须将其移至 /resources 文件夹

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-11
      • 1970-01-01
      • 2012-07-10
      相关资源
      最近更新 更多