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属性来进行全面验证。