2012-03-11 85 views
0

目前我有一個接收電話號碼的字段。JSF 2輸入字段必填字段驗證僅在輸入值時才需要

它執行長度驗證沒有失敗。我真正想要的是隻有在輸入值時才進行長度驗證,並且在沒有值時不進行驗證。我怎樣才能做到這一點?

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

回答

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時會被切斷。

+0

這是有見地的。再一次感謝你。 – 2012-03-12 01:03:26

+0

有沒有觸發你提示vm參數的東西? – 2012-04-03 14:32:29

+0

我不確定你在問什麼? – BalusC 2012-04-03 14:34:51