今天我要找一点关于我遇到的问题的指导。
我所要做的是建立一个动态的页面验证和所有。最终的结果是允许用户通过管理功能配置页面上的字段。下面是我用作测试页的代码的副本,在这里我循环遍历“configured”字段并使用定义的条件写出字段。
<ui:repeat var="field" value="#{eventMgmt.eventFields}" varStatus="status">
<div class="formLabel">
<h:outputLabel value="#{field.customName}:"></h:outputLabel>
</div>
<div class="formInput">
<h:inputText id="inputField" style="width:# {field.fieldSize gt 0 ? field.fieldSize : 140}px;">
<f:validateRegex disabled="#{empty field.validationPattern}" pattern="#{field.validationPattern}"></f:validateRegex>
</h:inputText>
<h:message for="inputField" showDetail="true" errorClass="errorText"></h:message>
</div>
</ui:repeat>
在页面呈现并尝试提交该字段的任何值之后,我得到以下消息“regex pattern必须设置为非空值”。这显然意味着表达式未填充。使我感兴趣的是,当计算el时,没有表达式的字段将被禁用。我也可以使用相同的代码{field.validationpattern}并将其放在页面中,页面上将会写入正确的值。
所以,我的问题是:
1。这可能吗?
2。jsf容器在什么时候考虑绑定validate regex的模式?
三。我做错了什么?正确的方法是什么??
我正在运行tomcat 7.0.22、mojarra 2.1.5和eclipse作为我的ide。