如何自定义验证失败时显示的验证消息?
这是我的代码:
<h:form>
<p><h:inputText
id="userNo"
title="Type a number from 0 to 10:">
<f:validateLongRange
minimum="3"
maximum="6"/>
</h:inputText>
<h:commandButton id="submit" value="Submit"
action="response"/>
</p>
<h:message showSummary="true" showDetail="false"
id="errors1"
for="userNo"/>
</h:form>
目前消息如下:
j_idt10:userNo: Validation Error: Specified attribute is not between the expected values of 3 and 6.
哪个用户不是特别友好。
答案 0 :(得分:41)
最简单的方法是在validatorMessage="my custom message"
标记中设置<h:inputText>
属性。
有关更高级的方法,请阅读本文Customize validation error message in JSF 2.0
And here a complete Reference to all available message that you can override in JSF 2.0.x
答案 1 :(得分:10)
除了Daniel的回答之外,您始终可以使用输入组件的label
属性从错误消息中删除客户端ID(j_idt10:userNo:
)。
E.g。与
<h:inputText id="userNo" title="Type a number from 0 to 10:"
label="User number">
<f:validateLongRange
minimum="3"
maximum="6"/>
</h:inputText>
将产生:
用户编号:验证错误:指定的属性不在 预期值为3和6。
label属性也可以是el表达式,以动态更改错误消息的这一部分。
答案 2 :(得分:5)
您可以使用输入文本的validatorMessage属性。对所需消息使用requiredMessage属性,它与验证器消息不同。
<h:input text required ="true" validatorMessage="Enter user friendly message">
<f:validateLongRange
minimum="3"
maximum="6"/>
</h:inputText>