我需要驗證表單中的多個字段,單個字段驗證工作正常。 我想知道是否所有的領域都是空的有沒有任何方式與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。恕我直言,他們的郵件列表也是一個很好的信息來源,如果你卡住了,或者你看不到整個東西是如何工作的。但它不應該是困難的。 –