2010-12-22 8 views
2

In meiner aspx-Seite in einer Einreichung Formular habe ich folgende HTML.Erforderliche Feld Validierungsproblem für mehrere Steuerelemente

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

Ich brauche eine erforderliche Feldvalidierung Kontrolle haben txtTrustDetails Textbereich zu validieren nur, wenn chkWishToDonateFrmTrust vom Benutzer ohne Server Post Rücken für this.only geprüft JavaScript-Bibliothek ich verwende ist Microsoft Ajax Framework.I auch haben um diese in Validierungsgruppe in Form mit einigen anderen für Kontrollen zu integrieren.Ich weiß bereits, wie mein Wissen eine erforderliche Feld-Validierung-Steuerelement kann nur einzelne UI-Steuerelement (asp.net forum thread) validiert jemand in der Gemeinschaft mit dieser Art von Problem auf intuitive Weise behandelt?

Antwort

3

Als eine andere Antwort hat gesagt, eine benutzerdefinierte Validator verwenden und so etwas tun (nicht so ganz richtig kann nicht getestet werden ...):

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

den benutzerdefinierten Validator verwenden und die clientValidationfunction verwenden anrufen eine JavaScript-Funktion, um Ihre Werte zu überprüfen. Sie sollten auch eine Servervalidate-Funktion haben, wenn Javascript deaktiviert ist.

1

können Sie eine js-Funktion oder eine jQuery-Funktion verwenden, um dies zu tun, ist ein Beispielcode, wie dieser

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

     } 

}

Aufruf dieser Funktion auf Ihrer sumbit Schaltfläche Onclick zu erreichen;

Verwandte Themen