ASP.NET CustomValidator不工作

ASP.NET CustomValidator不工作,asp.net,validation,customvalidator,Asp.net,Validation,Customvalidator,我有问题: 我的页面上有一个自定义验证器,用于验证imieTextbox控件。但它不起作用。我不知道为什么 此方法来自register.aspx.cs文件: protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args) { //of course here will be other validation logic but setting IsValid prope

我有问题: 我的页面上有一个自定义验证器,用于验证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;
    }
这来自register.aspx文件:

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

页面上的Submit按钮的属性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;
}

工作谢谢还有一个问题?如何在客户端执行相同的验证(使用相同的自定义验证器)?不幸的是,您不能使用与编写JavaScript在客户端进行验证相同的方法。