2010-12-22 62 views
2

在我的aspx頁面提交表單中我有以下html。多個控件所需的字段驗證器問題

<p><asp:CheckBox ID="chkWishToDonateFrmTrust " runat="server" onclick="chkWishToDonateFrmTrustHandle(this)" /> 
Wish to donate from following Trust for future transactions</p><p>&nbsp;</p><p><textarea name="textarea" cols="45" rows="5" class="txtTrustDetails" runat="server" 
              id="txtTrustDetails" ></textarea></p> 

我需要有一個必填字段驗證控件來驗證txtTrustDetails文本區域只有chkWishToDonateFrmTrust由用戶檢查無服務器後背上的this.only我使用JavaScript庫是微軟的Ajax Framework.I也有將其包含在驗證組中,並與其他一些控件一起使用。我已經知道,根據我的知識,一個必需的字段驗證器控件只能驗證單個UI控件(asp.net forum thread),社區中的任何人是否以直觀的方式處理這類問題?

回答

3

作爲另一個答案已經表示,使用自定義驗證,做這樣的事情(未測試,因此可能不是很正確...):

<script type="text/javascript"> 
    function validate(sender, args) { 
     var checkBox = document.getElementById('<%=CheckBox1.ClientID %>'); 
     var textBox = document.getElementById('<%=TextBox1.ClientID %>'); 

     if (checkBox.checked == 1) { 

      if (textBox.value == '') { 
       args.IsValid = false; 
      } else { args.IsValid = true; } 
     } 
    } 

</script> 

<asp:CheckBox ID="CheckBox1" runat="server" /> 
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
<asp:CustomValidator ID="CustomValidator1" ControlToValidate="TextBox1" runat="server" 
    ErrorMessage="CustomValidator" ClientValidationFunction="validate"></asp:CustomValidator> 

使用自定義的驗證,並使用clientValidationfunction調用一個javascript函數來檢查你的值。 您應該也有一個servervalidate功能,因爲JavaScript關閉。

1

你可以使用js函數或jQuery函數要做到這一點是如何做到這一點

function chkValidate() 
    { 
    if($("#chkWishToDonateFrmTrust ").checked) 
     { 
      if($("#txtTrustDetails").val()=='') 
      { 
       args.IsValid = false; 
       //your custom message according to you 
      } 

     } 

}

呼叫的onclick你透過這個按鈕功能的示例代碼;