目前我有一个接收电话号码的字段。
它会毫无问题地执行长度验证。我真正想要的是仅在输入值时才进行长度验证,并且在没有值时不进行验证。我怎么能做到这一点?
<p:inputText id="corporateTel" label="#{labelResource.telephone}">
<f:validateLength minimum="5" maximum="20" />
</p:inputText>
答案 0 :(得分:3)
这已经是默认行为了。你的问题是由别处引起的。也许您使用int
代替Integer
或String
,因此默认为0
而不是null
。或者您可能在Tomcat / JBoss上运行webapp时使用了Integer
,其中默认的Apache EL实现将隐式强制它转换为0
而不是null
。您可以通过添加以下VM参数将其关闭:
-Dorg.apache.el.COERCE_TO_ZERO=false
或使用String
代替Integer
。对于电话号码,这也是更合适的数据类型,因为它们可能具有前导0
,否则在使用Integer
时会被切断。