我为int变量创建了一个简单的输入字段。我想为它添加验证,但是,我认为没有必要为它创建我自己的验证器,因为我唯一需要的是避免负数值和数字以外的字符。 所以这就是我所做的:
<h:inputText id="price" value="#{placeAddControler.price}">
<f:validateLongRange minimum="0"/>
</h:inputText>
<h:outputText value="€" />
<br/>
<span style="color: red;"><b><h:message for="price"
showDetail="true" /></b></span>
当我尝试它如何工作时,这是负值的结果:
这是角色的结果:
在我的项目中,我可以自定义这些验证消息的文本吗?
答案 0 :(得分:20)
要更改这些值,您基本上必须定义自己的Resources文件,覆盖您想要自定义消息的属性并在web.xml中注册它。 This link似乎很好地解释了它,所以我把它包括在内,而不是尝试重写内容。
对于更简单的解决方案,因为您是JSF 2,您还可以使用inputText组件的这些属性:
requiredMessage="I am a custom message"
converterMessage="I am a custom message"
validatorMessage="I am a custom message"
这将覆盖验证器本身吐出的任何消息。
但我更喜欢资源包,因为它可以提高整个应用程序中用户可见错误消息的一致性。
答案 1 :(得分:2)
您可以注册消息包并自定义这些消息。这是一个相当不错的示例/教程:
http://www.mkyong.com/jsf2/customize-validation-error-message-in-jsf-2-0/
答案 2 :(得分:-1)
您还可以为每个组件设置自定义消息。例如:
<h:inputText id="price" value="#{placeAddControler.price}" validatorMessage="Price must be greater than 0.">
<f:validateLongRange minimum="0"/>
</h:inputText>