CustomValidator自定义验证控件

<asp:CustomValidator
        id="valComments"
        ControlToValidate="txtComments"
        Text="(Comments must be less than 10 characters)"
        OnServerValidate="valComments_ServerValidate"
        Runat="server" />

ControlToValidate Text ClientValidationFunction 事件ServerValidate

        
   void valComments_ServerValidate(Object source, ServerValidateEventArgs args)
    {
        if (args.Value.Length > 10)
            args.IsValid = false;
        else
            args.IsValid = true;
    }


ServerValidate event handler 是erverValidateEventArgs 类的实例. 拥有Value IsValid ValidateEmptyText(空值时是否验证)属性

只用服务器端的验证事件而没有客户端的话,必须提交了才知道错误,不能在提交前显示错误信息。

用可客户端验证的话,可能会在mouseout,change时进行验证并显示错误在页面上。 

    
    function valComments_ClientValidate(source, args)
    {
        if (args.Value.length > 10)
            args.IsValid = false;
        else
            args.IsValid = true;
    }


与其它验证控件不同的是,CustomValidator可以在输入为空值时决定是否验证。alidateEmptyText="true",默认为false,即为空时不验证(此时跟其它控件是一样的都不验证)。

与其它验证控件不同的是,CustomValidator可以不绑定到某一表单控件,即ControlToValidate属性不是必须的。

你可能感兴趣的:(CustomValidator自定义验证控件)