2010-05-10 59 views
1

我有驗證一個輸入字段來驗證最大和最小長度JSF validateLength問題

<h:inputText id="LABEL_ID" styleClass="textboxsmall" value="#{sampleDatatableBean.accessionLabelId}" maxlength="5"> 
    <f:validateLength minimum="4" maximum="5" /> 
</h:inputText> 
<br/><h:message id="LABEL_ID_MSG" styleClass="errorMessage" for="LABEL_ID" /> 

它驗證但我得到以下信息:

「值小於允許的最小{0}「

不應該{0}被替換爲最小值?不知道爲什麼它沒有拿起價值。有任何想法嗎?

Version info: 
myfaces-api-1.1.5.jar: 
Manifest-Version: 1.0 
Archiver-Version: Plexus Archiver 
Created-By: Apache Maven 
Built-By: mrmaven 
Build-Jdk: 1.5.0_11 
Implementation-Title: API 
Implementation-Version: 1.1.6-SNAPSHOT 
Implementation-Vendor-Id: org.apache.myfaces.core 
Implementation-Vendor: Apache Software Foundation 

myfaces-impl-1.1.5.jar: 
Manifest-Version: 1.0 
Archiver-Version: Plexus Archiver 
Created-By: Apache Maven 
Built-By: mrmaven 
Build-Jdk: 1.5.0_11 
Implementation-Title: Impl 
Implementation-Version: 1.1.6-SNAPSHOT 
Implementation-Vendor-Id: org.apache.myfaces.core 
Implementation-Vendor: Apache Software Foundation 

應用服務器:jboss-4.0.5.GA

Works的

<f:validateLongRange minimum="100" maximum="999" /> 

固定 似乎在ErrorMessages_en.properties文件中添加_detail後,開始工作。

javax.faces.validator.LengthValidator.MAXIMUM_detail = Value is longer than allowable 
maximum of {0} characters. 
+0

我記得這個問題,但我不記得解決方案了。你能否發佈你正在使用的JSF impl/version/build?提取jsf-api.jar和jsf-impl jar,檢查清單文件,它包含確切的版本信息。另外,你正在使用哪個應用服務器?另外,其他消息如何,他們評估罰款? – BalusC 2010-05-10 23:58:51

+0

好吧,看起來像MyFaces中的錯誤。無法用Mojarra重現這一點。嘗試升級MyFaces或更換Mojarra。 – BalusC 2010-05-11 16:22:42

+0

我剛查過jboss-4.0.5.GA,有一個Servlet Spec 2.4和JSP 2.0; MyFaces更新請求。 -JSF 1.2需要Java 1.5或更高版本,JSP 2.1,JSTL 1.2和Java Servlet 2.5實現:如果我只更新了jar而不更新服務器以滿足所需的規範,那麼您是否會認爲這會導致問題? – Sai 2010-05-11 18:22:35

回答

0

FIXED似乎在ErrorMessages_en.properties文件中添加 「javax.faces.validator.LengthValidator.MAXIMUM_detail」 後,開始工作。