【问题标题】:setting f:validatelength dynamically does not work动态设置 f:validatelength 不起作用
【发布时间】:2011-12-21 21:59:23
【问题描述】:

当我使用 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" />

我尝试在 bean 上使用 ,但无法正常工作。

我将 JSF 1.2 与 Richfaces 3.3.3 和 Seam 2 一起使用。

希望有人在这里提供线索。使用另一个标签来实现这一点的好方法也很好!感谢阅读。

【问题讨论】:

    标签: jsf richfaces


    【解决方案1】:

    el 表达式是否计算为整数类型?

    【讨论】:

    • 可能吗? bean 返回 int ,如果我输出文本,则会显示正确的数字。我尝试返回 Integer 也没有区别
    【解决方案2】:

    我不知道,但您可以尝试其中的几个变体

    <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" />
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-09
      • 2018-02-06
      • 1970-01-01
      • 2018-08-12
      • 1970-01-01
      • 1970-01-01
      • 2010-11-30
      相关资源
      最近更新 更多