动态添加自定义验证器

时间:2012-10-09 14:17:11

标签: validation jsf facelets

以下是我想要实现的伪代码:

<h:inputText id="inputId">
    for -> validatorId : validatorIdArray 
     {
          <f:validator for="inputId" validatorId="#{validatorId}"/>
     }
</h:inputText>

我想动态地为我的输入组件添加自定义验证器。我将验证程序名称存储在数组或列表中,但到目前为止,我还没有设法弄清楚如何生成验证程序标记。

我希望有一个完整的Facelets解决方案。

2 个答案:

答案 0 :(得分:2)

我首先尝试使用<c:foreach>,但使用了错误的命名空间。 现在我纠正了它,它按预期工作:

<h:inputText id="inputId">
    <c:forEach items="#{validatorIdArray}" var="validatorId">
        <f:validator for="inputId" validatorId="#{validatorId}"/>
    </c:forEach>
</h:inputText>

答案 1 :(得分:-1)

如果您使用的是JSF2,请尝试f:validateBean