验证中的自定义错误未显示在h:message中

时间:2012-04-19 10:58:37

标签: jsf-1.2

我想在用户为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>`

这真的很奇怪,因为当我用空值测试我的应用程序时,我可以读取我的自定义消息,但是当我尝试插入字符串时,我看到了默认的错误消息!!当我把价值降到很高或太低时,同样的事情发生了!

任何人都可以帮助我吗?谢谢!

1 个答案:

答案 0 :(得分:0)

我希望您必须覆盖这些默认消息以验证double的范围。我希望你在托管bean中将user.value定义为double。

javax.faces.validator.DoubleRangeValidator.MAXIMUM
javax.faces.validator.DoubleRangeValidator.MINIMUM
javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE