我有一个输入字段,它必须满足以下限制:输入数据应该只有2个字符,它只能接受字母和数字,并且它必须是大写。到目前为止,我做了以下内容:每个jsf验证器标记的单个错误消息
<h:inputText id="code" >
<f:validateLength minimum="2" maximum="2" />
<f:validateRegex pattern="^[a-zA-Z0-9]*$"/>
<f:validateRegex pattern="^[A-Z0-9]*$"/>
</h:inputText>
然而,我需要单独的错误信息时,这些验证的失败。我做了一些搜索,我发现以下解决方案不合适:
1)How to customize JSF validation error message:提供文本标签内的validatorMessage
属性不会做的工作,因为这样一来,我可以提供每个输入文本标签只有一个消息。
2)http://incepttechnologies.blogspot.ro/p/validation-in-jsf.html:支持bean中的验证方法,或使用@FacesValidator
注释进行的命令验证都不好,因为这正是我试图避免的;我想将验证从后端移动到前端
3)https://www.mkyong.com/jsf2/customize-validation-error-message-in-jsf-2-0/:覆盖messages.properties
中的错误消息不好,原因有两个:1.我只想在本地使用自定义错误消息(页面范围),不适用于整个应用程序。 2.我具有相同的验证标签存在的两倍 - 但具有不同的图案,并且我想为每一种情况
的文档的验证标记(http://docs.oracle.com/javaee/6/javaserverfaces/2.0/docs/pdldocs/facelets/和http://docs.oracle.com/javaee/6/javaserverfaces/2.0/docs/pdldocs/facelets/f/validateLength.html)一个不同的错误消息指定没有属性如“信息”,或'errorMessage',正如我所希望的。
不错的主意,但不幸的是我不能让它工作;在jsf中我放了'',然后我创建了文件messages_ko.properties,并且将它放置在不同的位置,比如jsf文件夹,后台bean的文件夹,但是当验证错误触发器,我得到了默认的错误信息,而不是覆盖的那一个 –
好吧,是否尝试将它放在资源文件夹? – OTM