JSF 2输入字段必填字段验证仅在输入值时才需要

时间:2012-03-11 10:53:04

标签: jsf-2

目前我有一个接收电话号码的字段。

它会毫无问题地执行长度验证。我真正想要的是仅在输入值时才进行长度验证,并且在没有值时不进行验证。我怎么能做到这一点?

<p:inputText id="corporateTel" label="#{labelResource.telephone}">
    <f:validateLength minimum="5" maximum="20" />
</p:inputText>

1 个答案:

答案 0 :(得分:3)

这已经是默认行为了。你的问题是由别处引起的。也许您使用int代替IntegerString,因此默认为0而不是null。或者您可能在Tomcat / JBoss上运行webapp时使用了Integer,其中默认的Apache EL实现将隐式强制它转换为0而不是null。您可以通过添加以下VM参数将其关闭:

-Dorg.apache.el.COERCE_TO_ZERO=false

或使用String代替Integer。对于电话号码,这也是更合适的数据类型,因为它们可能具有前导0,否则在使用Integer时会被切断。