2014-06-12 41 views
-3

我試圖要求填寫一組字段中的全部或全部。換句話說,如果填寫了所有字段,則必須填寫。以下是我嘗試的。我錯過了什麼來完成這項工作?ASP.NET自定義驗證器 - 全部或沒有值

ASP.NET標記:

<asp:CustomValidator 
    id="CustomValidator" 
    ErrorMessage="All or none of the fields must be filled out" 
    ForeColor="Red" 
    OnServerValidate="CustomValidator_ServerValidate" 
    runat="server" /> 

C#:

protected void CustomValidator_ServerValidate(object source, ServerValidateEventArgs args) 
{ 
    if ((String.IsNullOrEmpty(field1.Text) && 
     String.IsNullOrEmpty(field2.Text) && 
     String.IsNullOrEmpty(field3.Text)) || 
     (!String.IsNullOrEmpty(field1.Text) && 
     !String.IsNullOrEmpty(field2.Text) && 
     !String.IsNullOrEmpty(field3.Text))) 
    { 
     args.IsValid = true; 
    } 
    else 
    { 
     args.IsValid = false; 
    } 
} 

感謝您的任何幫助。

+2

這是一個問答網站......我看不出你的問題 – freefaller

回答

0

在您的按鈕提交,你爲Page.IsValid

檢查自定義的驗證,將不會觸發沒有入住手續。

protected void btnSubmit_Click(args) { 
    if (Page.IsValid) { 
    //do something 
    } 
} 
+0

不,我沒有,但我是用CustomValidator.IsValid。我會嘗試page.isvalid – samjk14

+0

即使在if(Page.IsValid){}內部,它也允許我提交表單。 – samjk14

+0

CustomValidator不會阻止提交表單,但會引發表單錯誤,您可以在ValidationSummary中顯示或者顯示CustomValidator。只要您在檢查Page.IsValid後不繼續處理表單。那有意義嗎? –