【发布时间】:2017-03-05 19:42:56
【问题描述】:
我正在尝试自定义(包括 i18n)JSR303,但我总是得到
### Message 'msg.test.validation' not found ###
我创建了一个包含内容的 ValidationMessages.properties 文件
msg.test.validation=This is a test
文件(包括 ValidationMessages_de.properties、_de_DE.properties 和 _en.properties)放在 src/main/resources 中。在 war 文件中,文件位于 WEB-INF/classes(标准 maven 行为)
在我的托管 bean 中
@NotNull
@Pattern (regexp="^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$", message = "{msg.test.validation}")
private String test;
并且基于 Primefaces 6.0 的页面包含
<h:form>
<p:inputText id="test" value="#{validationView.test}" label="Test" />
<p:commandButton id="testbutton" action="#{validationView.showTest}" value="Test" validateClient="true" />
<p:message for="test" />
</h:form>
我似乎没有找到 ValidationMessages,但为什么呢?如果我输入消息而不是占位符“msg.test.validation”,则会显示此消息。
有什么提示吗?
【问题讨论】:
-
找到原因,我启用了
primefaces.CLIENT_SIDE_VALIDATION。禁用时,会找到消息。但我仍然没有找到保持该属性启用的解决方案。
标签: java primefaces bean-validation