我想在用户为Double值插入错误的输入时显示自定义消息,但是当我测试我的应用程序时,我总是看到默认的错误消息。
这是我的自定义messages.properties:
`javax.faces.convert.DoubleConverter.CONVERSION=My Conversion Error(Double)
javax.faces.convert.DoubleConverter.CONVERSION_detail=My Conversion Error(Double)
javax.faces.component.UIInput.CONVERSION=My Conversion Error
javax.faces.component.UIInput.CONVERSION_detail=My Conversion Error(Double)
javax.faces.validator.NOT_IN_RANGE=My Validation Error
javax.faces.validator.NOT_IN_RANGE_detail=My Validation Error
javax.faces.validator.DoubleRangeValidator.LIMIT=Validation Limit Double
javax.faces.validator.DoubleRangeValidator.LIMIT_detail=Validation Limit Double
javax.faces.validator.DoubleRangeValidator.TYPE=Error Type Double
javax.faces.validator.DoubleRangeValidator.TYPE_detail = Error Type Double
javax.faces.component.UIInput.REQUIRED=Requested!!
`
这是我的faces.config
`<application>
<message-bundle>it.exaple.messages.MyMsg</message-bundle>
</application>`
在这里我的页面:
`<td>
<h:inputText id="Value" value="#{user.value}" required="true">
<f:validateDoubleRange minimum="0.0" maximum="200.0"/></h:inputText>
<h:message for="username" showDetail="true" showSummary="true" style="color:red"/>
</td>`
这真的很奇怪,因为当我用空值测试我的应用程序时,我可以读取我的自定义消息,但是当我尝试插入字符串时,我看到了默认的错误消息!!当我把价值降到很高或太低时,同样的事情发生了!
任何人都可以帮助我吗?谢谢!
答案 0 :(得分:0)
我希望您必须覆盖这些默认消息以验证double的范围。我希望你在托管bean中将user.value
定义为double。
javax.faces.validator.DoubleRangeValidator.MAXIMUM
javax.faces.validator.DoubleRangeValidator.MINIMUM
javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE