Sub FunctionName(sender as Object, args as ServerValidateEventArgs) ... End Sub |
其中注意兩個參數 value:指示當前的CustomValidator驗證的是哪一個控件 IsValid:為真時,表示頁面控件已經通過驗證。舉一個驗證頁面中文本框的輸入是否為素數的例子:
<script language="vb" runat="server"> Sub btnSubmit_Click(sender as Object, e as EventArgs) If Page.IsValid then Response.Write("<font color=""red""><i>" & txtPrimeNumber.Text & _ " is, indeed, a good prime number.</i></font>") Else Response.Write("<font color=""red""><i>" & txtPrimeNumber.Text & _ " is <b>not</b> a prime number.</i></font>") End If End Sub Sub PrimeNumberCheck(sender as Object, args as ServerValidateEventArgs) Dim iPrime as Integer = Cint(args.Value), iLoop as Integer, _ iSqrt as Integer = CInt(Math.Sqrt(iPrime)) For iLoop = 2 to iSqrt args.IsValid = True <form method="post" runat="server"> <%-- Create the CustomValidator control --%> <%-- Create two CompareValidator controls: the first ensures that <p><asp:button id="btnSubmit" runat="server" |
可以看到,在驗證控件中, OnServerValidate="PrimeNumberCheck"中,要定義具體的onservervalidate事件,之后,在具體的事件處理過程中,一定要返回args.isvalid的值,以價講明是否驗證成功;當然,最后要用page.isvalid屬性來進行全面驗證。