Asp.net自定义验证控件CustomValidator 的使用方法

javascript 函数和 CustomValidator控件相结合使用

<asp:TextBox ID="txtPwdPrompt"runat="server"></asp:TextBox>

<asp:CustomValidatorid="CVPwdPrompt"runat="server" ClientValidationFunction="CheckPwd"ControlToValidate="txtPwdPrompt" ErrorMessage="<spanstyle='font:12px'>提示问题必须在2-50个字符内</span>"Display="None"></asp:CustomValidator>

Javascript函数:

<script language="javascript" type="text/javascript">

        functionClientValidation(source,value)

        {

            varstr = value.Value;

            varlen = 0;

            for(var i=0;i<str.length;i++)

            {

                if(str.charCodeAt(i)<128)

                    len++;

                else

                    len+=2;

            }

            if(len>5)

                value.IsValid = true;

            else

                value.IsValid = false;

        }

 

       functionCheckPwd(source, arguments) {

          if(arguments.Value.length > 2 && arguments.Value.length < 11)

            {

                arguments.IsValid = true;

                alert("验证通过!");

            }

            else

            {

                arguments.IsValid = false;

                alert("请输入密码的长度3到10之间!");

            }

        }

</script>

函数有两个参数:

source 参数是对为 CustomValidator 控件呈现的 <span> 元素的引用。因此,您可以编程的方式控制 <span> 标记,如修改 InnerHtml 属性。

arguments 参数是一个具有以下两个属性的对象:Value 和 IsValid。使用此参数可以获取控件的值,以根据自定义验证例程验证并指示该值是否有效。

    使用 ClientValidationFunction 属性指定与 CustomValidator 控件关联的客户端验证脚本函数的名称。由于该脚本函数在客户端执行,因此该函数必须使用目标浏览器支持的语言(如 VBScript 或 JScript)来编写。

服务器端验证与客户端验证一样,可以通过使用 arguments 参数的 Value 属性来访问要验证的输入控件中的字符串。通过设置 arguments 参数的 IsValid 属性返回验证结果。

代码如下:

  protectedvoid cvLength_ServerValidate(object source, ServerValidateEventArgsargs)

   {

        if(args.Value.Length > 5)

        {

            args.IsValid = true;

        }

        else

        {

            args.IsValid = false;

        }

    }

注意:Value首字母必须大写

posted @ 2010-09-15 12:21  sms  阅读(1079)  评论(0编辑  收藏  举报