【发布时间】:2011-10-05 13:05:50
【问题描述】:
我正在为我的应用程序使用 Richfaces 3.3.3。我不确定如何在富人脸中实现有条件的强制检查。以下是我的场景:
我有3个文本框input1,input2,input3如下:
<h:inputText id="input1" value= "#{mybean.input1}" required= "true" maxlength="350" >
<mj:regexValidator pattern="[0-9A-Za-z% ]*" />
</h:inputText>
<h:inputText id="input2" "#{mybean.input2}"maxlength="350" ></h:inputText>
<h:inputText id="input3" "#{mybean.input3}"maxlength="350"></h:inputText>
<a4j:commandButton value="save" action="#{mybean.saveData}"/>
在上面的代码中,“input1”是一个必填字段,只接受字母数字值。 “input2”是可选字段,只有当用户输入“input2”时才需要“input3”,否则“input3”也是可选的
目前,我正在检查支持 bean 上 saveData 方法上的 input2 和 input3(单击保存按钮时)并向屏幕抛出错误消息。
但是下面的场景失败了, 如果用户在 input1 中输入“####”等特殊字符,并在 input2 中输入有效值但将 input3 保留为空,则我只会在屏幕上收到与 input1 相关的错误消息。
这是因为正则表达式验证甚至在到达支持 bean 中的保存方法之前就被触发了。
有什么办法可以克服这种方法。请指教
【问题讨论】:
-
你终于搞定了吗?我也有类似的问题...