簡體   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