java - 如何在没有 spring 的情况下在 Hibernate Validator 中使用自定义错误消息?

标签 java hibernate validation

是否可以在不使用 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;

最佳答案

errorMessages.xml 必须重命名为 .properties 并且我必须将它移动到 /resources 文件夹

关于java - 如何在没有 spring 的情况下在 Hibernate Validator 中使用自定义错误消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35114767/

相关文章:

java - 与 ThreadLocal 同步还是 InheritableThreadLocal?

java - 我的 if-else 语句有什么问题?

java - 如何在不从 OracleDB 获取 "Expected NUMBER but got BINARY"的情况下查询 Long 值中的空值?

java - 如何获取 UnexpectedRollbackException 的 SQL 错误来源

java - 如何仅使用标签对 JSP 中的列表(运行时变量)进行排序?

java - 遇到变量无法打印和\n 无法工作的问题

java - 查询异常 : JPA-style positional param was not an integral ordinal

javascript - Angular Material 对话框预填充输入字段不验证

hibernate - 使用 Hibernate 验证创建组验证的步骤

c# - WPF:当 IDataErrorInfo 时在自定义 DataGrid 单元格上显示工具提示消息