JSF2:使用自定义消息包进行bean验证

Fab*_*bio 2 java bean-validation message-bundle

我知道论坛中的很多帖子都讨论过这个问题,但是我仍然无法自定义bean验证的消息.也许配置或文件位置中缺少一些小东西......

验证调用消息时,网页显示消息ID而不是消息文本.

例如,我在网页上看到{messages.myMessageId}

我有:

SRC/COM/MyApp的/视图/ validationvalidation_en.poperties

webuser_name_notnull = Name is required
Run Code Online (Sandbox Code Playgroud)

faces-config.xml中

<message-bundle>
        com.myapp.view.validation
</message-bundle>
Run Code Online (Sandbox Code Playgroud)

webuser.java

@NotNull(message = "{webuser_name_notnull}")
private String name;
Run Code Online (Sandbox Code Playgroud)

非常感谢您的支持!

Bal*_*usC 10

根据JSR303规范的第4.3.1.1章,自定义JSR303验证消息文件需要具有完全名称ValidationMessages.properties,并且需要将其放置在类路径的根目录中,在您的情况下直接放在src文件夹中.

请注意,Bean Validation不是JSF的一部分.它是Java EE的一部分,JSF也是其中的一部分.JSF <message-bundle>只定义JSF默认验证消息的位置(例如您看到的required="true"消息),而不是JSR303 Bean Validation消息.