繁体   English   中英

ASP.NET CustomValidator无法正常工作

[英]ASP.NET CustomValidator not working

我有问题:我的页面上有一个自定义验证器,用于验证imieTextbox控件。 但它不起作用。 我不知道为什么。

这个方法来自register.aspx.cs文件:

protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
    {
//of course here will be other validation logic but setting IsValid property ti false     is for example
        args.IsValid = false;
    }

这来自fromregister.aspx文件:

    <asp:CustomValidator ID="CustomValidator1" runat="server" 
             ControlToValidate="imieTextbox" Display="Dynamic" 
             ErrorMessage="CustomValidator" 
             onservervalidate="CustomValidator1_ServerValidate" ValidateEmptyText="True" 
             ValidationGroup="A"></asp:CustomValidator>

页面上的提交按钮具有属性CausesValidation设置为TRUE并具有验证组A(与我页面上的所有验证器一样)。 所有验证器(requiredfield验证器)工作正常,但自定义验证器不工作。 这是为什么? 我究竟做错了什么?

你必须打电话

if (Page.IsValid) 

在服务器上回发时,否则将不会调用您的服务器验证。 RequiredFieldValidator在客户端上验证,这就是为什么这个工作正常。 但是,您应该始终在服务器上进行验证。

对于客户端验证,您必须编写一个JavaScript方法。 您在CustomValidator中设置属性:

ClientValidationFunction="YourValidationMethod"

并且该方法执行类似的操作

function YourValidationMethod(source, args)
{
   if (valid) // do check here
      args.IsValid = true;
   else
      args.IsValid = false;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM