2014-02-19 37 views
0

我有以下类,我试图通过Hibernate来验证:如何全局设置Hibernate验证约束的消息?

public class LoginForm 
{ 
    @NotBlank(message = "{myCustomMessage}") 
    private String user; 

    @NotBlank(message = "{myCustomMessage}") 
    private String pw; 

    //.... 
} 

这工作正常,并正确显示NotBlank我的自定义消息,但是如果我必须指定(message = "{myCustomMessage}")线为每一个约束,对于每一个单独的成员,每一个班级都会变得非常重复。

是否有一种方法可以全局设置此消息,因此不必为每个成员单独指定? I.e因此,默认情况下,将获取myCustomMessage@NotBlank? (以及我指定的所有其他约束条件)。

编辑:所以如果我将消息密钥从myCustomMessage重命名为org.hibernate.validator.constraints.NotBlank.message,那么我不再需要指定(message..)行。不过,我仍然希望能够在全球范围内使用myCustomMessage

+0

请看看这个以前的答案:http://stackoverflow.com/questions/2235544/bean-validation-and-error-messages-at-properties-file – Romski

+0

@Romski这不回答我的问题 –

+0

对不起,只是重新阅读你的问题,我看到你的问题。除了编辑中的解决方案之外,我不知道其他任何内容。 – Romski

回答

1

正如您已经发现的,唯一的方法是为默认密钥org.hibernate.validator.constraints.NotBlank.message指定一个值。你也可以定义你自己的NotBlank约束,它指定你想要的值作为message属性的默认值,但我不会真的推荐这个。