📄 入門 24 - 自訂validator驗證器 - javaworld@tw.htm
字号:
</validator></PRE></DIV></DIV><BR> 在<javascript>標籤之間的,是用來撰寫自訂客戶端驗證的JavaScript時使用,要使用它必須在JSP頁面的表單提交按鈕上增加onsubmit事件處理,例如:
<DIV class=code
style="BORDER-TOP-STYLE: solid; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid">
<DIV class=codeContent><PRE><html:form action=<SPAN class=java-quote>"Login"</SPAN> onsubmit=<SPAN class=java-quote>"<SPAN class=java-keyword>return</SPAN> validateLoginForm(<SPAN class=java-keyword>this</SPAN>);"</SPAN>></PRE></DIV></DIV><BR> 然後在JSP頁面中使用<html:javascript/>標籤將所需的JavaScript寫出:
<DIV class=code
style="BORDER-TOP-STYLE: solid; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid">
<DIV class=codeContent><PRE><html:javascript formName=<SPAN class=java-quote>"loginForm"</SPAN>/></PRE></DIV></DIV><BR> <javascript>會自動生成JavaScript
validateXXXX()方法,其中XXXX是ActionForm名稱,在客戶端當按下按鈕時,validateXXXX()方法會被呼叫並執行客戶端的JavaScript驗證工作。<BR> 在伺服端,您要撰寫一個驗證類別,該類別必須包括static的validateXXX()方法,並必須包括指定的參數,最後傳回true或false表明驗證成功或失敗,例如:
<DIV class=code
style="BORDER-TOP-STYLE: solid; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid">
<DIV class=codeHeader
style="BORDER-BOTTOM-STYLE: solid"><B>MyValidator.java</B></DIV>
<DIV class=codeContent><PRE><SPAN class=java-keyword>public</SPAN> class MyValidator <SPAN class=java-keyword>implements</SPAN> Serializable {
<SPAN class=java-keyword>public</SPAN> <SPAN class=java-keyword>static</SPAN> <SPAN class=java-object>boolean</SPAN> validateSomeProperty(java.lang.<SPAN class=java-object>Object</SPAN> object,
org.apache.commons.validator.ValidatorAction action,
org.apache.commons.validator.Field field,
org.apache.struts.action.ActionErrors errors,
javax.servlet.http.HttpServletRequest request) {
........
}
}</PRE></DIV></DIV><BR> 如果驗證失敗,errors可以讓您將一些驗證失敗訊息加入其中,最後可使用<html:errors/>顯示在指定的頁面上。<BR> 自訂Validator時,預設都是找尋application.properties中的key-value對應,如果需要額外的訊息,可以在該檔案中加入。<BR> 有關更多自訂驗證器的方式,可以參考validator-rules.xml與Validator的原始碼檔案。
<!-- page content ends --><!--<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"><rdf:Description rdf:about="http://www.javaworld.com.tw/confluence/pages/viewpage.action?pageId=628" dc:identifier="http://www.javaworld.com.tw/confluence/pages/viewpage.action?pageId=628" dc:title="入門 24 - 自訂Validator驗證器" trackback:ping="http://www.javaworld.com.tw/confluence/rpc/trackback/628"/></rdf:RDF>-->
<P>
<DIV class=greybox><IMG height=16
src="入門 24 - 自訂Validator驗證器 - JAVAWORLD@TW.files/comment_16.gif"
width=16 align=absMiddle border=0> 0 comments | <A
href="http://www.javaworld.com.tw/confluence/pages/viewpage.action?pageId=628&showComments=true#addcomment"><IMG
height=16
src="入門 24 - 自訂Validator驗證器 - JAVAWORLD@TW.files/add_comment_16.gif"
width=16 align=absMiddle border=0></A> <A
href="http://www.javaworld.com.tw/confluence/pages/viewpage.action?pageId=628&showComments=true#addcomment">Add
Comment</A> </DIV></TD>
<TD width=5> </TD>
<TD vAlign=top width="25%">
<DIV class=navmenu>
<DIV class=menuheading>Page Operations</DIV>
<DIV class=menuitems>
<DIV class=operations>
<UL>
<LI><A accessKey=i
href="http://www.javaworld.com.tw/confluence/pages/pageinfo.action?pageId=628"><IMG
title="Page Information" height=16
src="入門 24 - 自訂Validator驗證器 - JAVAWORLD@TW.files/about_16.gif"
width=16 align=absMiddle border=0></A><SPAN class=label> <A
href="http://www.javaworld.com.tw/confluence/pages/pageinfo.action?pageId=628">Page
Information</A></SPAN>
<LI><A
href="http://www.javaworld.com.tw/confluence/pages/viewpreviousversions.action?pageId=628"><IMG
title="Page History" height=16
src="入門 24 - 自訂Validator驗證器 - JAVAWORLD@TW.files/history_16.gif"
width=16 align=absMiddle border=0></A><SPAN class=label> <A
href="http://www.javaworld.com.tw/confluence/pages/viewpreviousversions.action?pageId=628">Page
History</A></SPAN> </LI></UL>
<UL>
<LI><A
href="http://www.javaworld.com.tw/confluence/display/opensrc/Home"><IMG
title="Space Homepage" height=16
src="入門 24 - 自訂Validator驗證器 - JAVAWORLD@TW.files/home_16.gif"
width=16 align=absMiddle border=0></A><SPAN class=label> <A
href="http://www.javaworld.com.tw/confluence/display/opensrc/Home">Space
Homepage</A></SPAN>
<LI><A
href="http://www.javaworld.com.tw/confluence/spaces/viewspacesummary.action?key=opensrc"><IMG
title="Space Summary" height=16
src="入門 24 - 自訂Validator驗證器 - JAVAWORLD@TW.files/web_16.gif"
width=16 align=absMiddle border=0></A><SPAN class=label> <A
href="http://www.javaworld.com.tw/confluence/spaces/viewspacesummary.action?key=opensrc">Space
Summary</A></SPAN> </LI></UL></DIV>
<P>
<DIV class=infopanel-heading>Incoming Links: <SPAN
class=smallfont>(<A
href="http://www.javaworld.com.tw/confluence/pages/pageinfo.action?pageId=628#incoming">more</A>)</SPAN>
</DIV><IMG title=Struts入門 height=16
src="入門 24 - 自訂Validator驗證器 - JAVAWORLD@TW.files/docs_16.gif"
width=16 align=absMiddle border=0> <A
href="http://www.javaworld.com.tw/confluence/pages/viewpage.action?pageId=1958">Struts入門</A>
<BR>
<P></P>
<P>
<DIV class=infopanel-heading>Hot Referrers: <SPAN
class=smallfont>(<A
href="http://www.javaworld.com.tw/confluence/pages/pageinfo.action?pageId=628#referers">more</A>)</SPAN>
</DIV><SPAN class=smallerfont><A
title=http://140.138.150.106/confluence/pages/viewpage.action?pageId=628
href="http://140.138.150.106/confluence/pages/viewpage.action?pageId=628">140.138.150.106/confluence/pa...</A>
(28) <BR><A
title=http://140.138.150.106/confluence/pages/viewpage.action?pageId=1958
href="http://140.138.150.106/confluence/pages/viewpage.action?pageId=1958">140.138.150.106/confluence/pa...</A>
(14) <BR><A
title=http://140.138.150.106/confluence/pages/viewpage.action?pageId=628&showComments=true
href="http://140.138.150.106/confluence/pages/viewpage.action?pageId=628&showComments=true">140.138.150.106/confluence/pa...</A>
(8) <BR><A
title=http://140.138.150.106/confluence/pages/viewpage.action?pageId=628&showComments=false
href="http://140.138.150.106/confluence/pages/viewpage.action?pageId=628&showComments=false">140.138.150.106/confluence/pa...</A>
(6) <BR><A
title=http://www.jsptw.com/confluence/pages/viewpage.action?pageId=1958
href="http://www.jsptw.com/confluence/pages/viewpage.action?pageId=1958">http://www.jsptw.com/confluence/pages/viewpage.action?pageId=1958</A>
(5) <BR><A
title=http://www.baidu.com/s?lm=0&si=&rn=10&ie=gb2312&ct=0&wd=struts+validator&pn=50&cl=3&f=1
href="http://www.baidu.com/s?lm=0&si=&rn=10&ie=gb2312&ct=0&wd=struts+validator&pn=50&cl=3&f=1">http://www.baidu.com/s?lm=0&si=&rn=10&ie=gb2312&ct=0&wd=struts+validator&pn=50&cl=3&f=1</A>
(4) <BR><A
title=http://www.google.com.tw/search?hl=zh-TW&q=validator-rules.xml&btnG=%E6%90%9C%E5%B0%8B&meta=lr%3Dlang_zh-TW
href="http://www.google.com.tw/search?hl=zh-TW&q=validator-rules.xml&btnG=%E6%90%9C%E5%B0%8B&meta=lr%3Dlang_zh-TW">Google:
validator-rules.xml</A> (3) <BR><A
title=http://www.google.com/search?q=validator-rules.xml&hl=zh-CN&lr=lang_zh-CN|lang_zh-TW&ie=UTF-8&inlang=zh-CN&newwindow=1&start=50&sa=N
href="http://www.google.com/search?q=validator-rules.xml&hl=zh-CN&lr=lang_zh-CN|lang_zh-TW&ie=UTF-8&inlang=zh-CN&newwindow=1&start=50&sa=N">Google:
validator-rules.xml</A> (3) <BR><A
title=http://javaworld.com.tw/confluence/pages/viewpage.action?pageId=1958
href="http://javaworld.com.tw/confluence/pages/viewpage.action?pageId=1958">javaworld.com.tw/confluence/p...</A>
(2) <BR><A
title=http://140.138.150.106/confluence/pages/viewpage.action?pageId=628&decorator=printable
href="http://140.138.150.106/confluence/pages/viewpage.action?pageId=628&decorator=printable">140.138.150.106/confluence/pa...</A>
(2) <BR></SPAN>
<P></P></DIV></DIV>
<DIV></DIV></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></DIV>
<DIV class=license-nonprofit>This site is running on Atlassian <B><A
href="http://www.atlassian.com/c/conf/10137">Confluence</A></B> with a free
<B>Open Source Project / Non-profit License</B> (<A
href="http://www.atlassian.com/c/conf/10138">license details</A>).<BR><A
href="http://www.atlassian.com/c/conf/10137">Confluence</A> is professional
wiki, blog and knowledge management tool. <A
href="http://www.atlassian.com/c/conf/10137">Evaluate Confluence for your
organisation</A>.<BR></DIV>
<DIV class=bottomshadow></DIV>
<DIV class=smalltext id=poweredby>Powered by <A class=smalltext
href="http://www.atlassian.com/software/confluence/default.jsp?clicked=footer">Atlassian
Confluence</A> (Version: 1.3.5 Build:#122 Mar 01, 2005) - <A class=smalltext
href="http://jira.atlassian.com/secure/BrowseProject.jspa?id=10470">Bug/feature
request</A> - <A
href="http://www.javaworld.com.tw/confluence/administrators.action">Contact
Administrators</A> <BR></DIV></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -