我需要验证表单中的多个字段,单个字段验证工作正常。 我想知道是否所有的领域都是空的有没有任何方式与jsf 1.x和richfaces 3.3显示一条消息,如“所有领域是强制性的”,而不是每个验证消息验证jsf 1.x中的多个字段
1
A
回答
0
我正在使用MyFaces Extensions Validator +一个带有ProcessedInformationRecorder的简单插件,用于完成您正在谈论的内容。
1
您可以拥有一个包含所有错误消息的列表,并且列表会在onsubmit中填充。
例如:
public String doBid() {
boolean flag=false;
errorMessages = new ArrayList<String>();
if (getUserID().equals("")) {
flag=true;
}
if (getKeyword().equals("")) {
flag=true;
}
if (getNumericBidAmount() == 0.00) {
flag=true;
}
if (getNumericBidDuration() =0) {
flag=true;
}
if (flag==true)
errorMessages.add("all fields are mandatory");
if (errorMessages.size() > 0) {
return(null);
} else {
return("success");
}
14 }
---------
public String getErrorMessages() {
String messageList;
if ((errorMessages == null) ||
(errorMessages.size() == 0)) {
messageList = "";
} else {
messageList = "<FONT COLOR=RED><B><UL>\n";
for(String message: errorMessages) {
messageList = messageList + "<LI>" + message + "\n";
}
messageList = messageList + "</UL></B></FONT>\n";
}
return(messageList);
}
--------------------
<h:form>
<h:outputText value="#{bidBean1.errorMessages}"
escape="false"/>
<TABLE>
<TR>
<TD>User ID:
<h:inputText value="#{bidBean1.userID}"/></TD></TR>
<TR>
<TD>Keyword:
<h:inputText value="#{bidBean1.keyword}"/></TD></TR>
<TR>
<TD>Bid Amount:
$<h:inputText value="#{bidBean1.bidAmount}"/></TD></TR>
<TR>
<TD>Duration:
<h:inputText value="#{bidBean1.bidDuration}"/></TD></TR>
<TR><TH>
<h:commandButton value="Send Bid!"
action="#{bidBean1.doBid}"/></TH></TR>
</TABLE>
</h:form>
+0
我正在通过在验证器方法前端设置验证器属性来进行单一字段验证。我可以用验证器方法实现你的逻辑吗? – user902490
相关问题
- 1. JSF验证必填字段
- 2. 使用asp.net验证器验证2个字段中的1个
- 3. 一个字段的多个验证器。 JSF
- 4. 如何验证jsf中的字段
- 5. Django:验证多个字段
- 6. ParsleyJS - 验证多个字段
- 7. 验证多个空字段
- 8. 多个字段验证
- 9. jsf多个验证器
- 10. 验证表单中的多个字段
- 11. Access VB中的多个字段验证?
- 12. 跨字段验证在JSF H:dataTable的
- 13. 跨领域的Java Bean验证不验证JSF的字段
- 14. 单个字段的多个验证器
- 15. 对多个字段的AngularJS验证
- 16. 多个字段的远程验证
- 17. 多个字段的验证消息
- 18. 验证表单上的多个字段
- 19. Symfony2针对多个字段的验证
- 20. 同一个验证多个字段
- 21. Struts 1验证字段x OR y必需
- 22. JSF多个现场验证的NullPointerException
- 23. 多重验证与JSF Bean验证
- 24. JSF中的验证
- 25. 验证表格中的两个或多个数字字段
- 26. WPF IDataErrorInfo多字段验证
- 27. JSF 2.0显示多个验证的所有验证信息
- 28. jQuery远程验证多个字段
- 29. Javascript多个字段/表单验证
- 30. Symfony2 UniqueEntity多个字段:误报验证?
感谢您的回复......你能给一些这方面的例子代码吗? – user902490
不幸的是它深深地集成在我们的组件库中。但它不应该那么难。只要看看他们的源代码以及lib如何在内部使用ProcessedInformationRecorder进行交叉验证。只需使用自定义标记注释收集所有值,并将其添加到上下文(或您自己的上下文)中,并添加到阶段侦听器(验证阶段之后),然后检查上下文,添加消息并调用FC.renderResponse。恕我直言,他们的邮件列表也是一个很好的信息来源,如果你卡住了,或者你看不到整个东西是如何工作的。但它不应该是困难的。 –