设置f:validatelength动态不起作用

时间:2011-12-21 21:59:23

标签: jsf richfaces

当我使用bean在f:validatelength上设置最小值和最大值时,它根本不起作用。它打破了表单中的功能,因此无法提交......

当我输出文本时,他们所做的值作为合法数字出来,并且硬编码这些数字工作正常。

我猜它在某个生命周期中某种程度上缺少与bean所需的连接? (我几乎是初学者)。以下示例是我想要做的示例

<h:inputSecret id="password" value="#{userBean.user.password}">
  <f:validateLength minimum="#{myBean.minSize}" maximum="#{myBean.maxSize}" />
</h:inputSecret>
<h:message for="password" />

我尝试过使用&lt; a4j:keepAlive&gt;在豆子上,但我无法让它工作。

我正在使用带有Richfaces 3.3.3和Seam 2的JSF 1.2。

希望有人在这里有一个线索。并且使用另一个标签来实现这一目标的好方法也很好!谢谢你的阅读。

2 个答案:

答案 0 :(得分:0)

el表达式是否被评估为整数类型?

答案 1 :(得分:0)

我不知道,但您可以尝试其中几种变化                      

<h:inputSecret id="password" value="#{userBean.user.password}" maxlength="#{myBean.maxSize}">
  <f:validateLength minimum="#{myBean.minSize}"/>
</h:inputSecret>
<h:message for="password" />

<h:inputSecret id="password" value="#{userBean.user.password}" maxlength="#{myBean.maxSize}">
   <f:validator validatorId="javax.faces.validator.LengthValidator">
     <f:attribute name="minimum" value="#{myBean.minSize}"/>
   </f:validator>
</h:inputSecret>
<h:message for="password" />