2010-05-10 58 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” 后,开始工作。