【发布时间】:2010-05-10 17:36:08
【问题描述】:
我有一个带有验证的输入字段来验证最大和最小长度
<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
AppServer:jboss-4.0.5.GA
适用于
<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.
【问题讨论】:
-
我记得这个问题,但我不记得解决方案了。您能否发布您正在使用的 JSF impl/version/build ?提取 jsf-api.jar 和 jsf-impl jar,检查清单文件,它包含准确的版本信息。另外,您使用的是哪个应用程序服务器?另外,其他消息怎么样,他们评估得好吗?
-
好吧,看起来像是 MyFaces 中的一个错误。无法用 Mojarra 重现这一点。尝试升级 MyFaces 或替换为 Mojarra。
-
我刚刚检查了 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 而不将服务器更新到所需的规范会导致问题吗?
-
对不起,没有想法。祝你好运。
-
FIXED 在 ErrorMessages_en.properties 文件中添加“javax.faces.validator.LengthValidator.MAXIMUM_detail”后似乎可以工作。
标签: validation jsf