1

Ich habe versucht, die Validierung zu bekommen auf meinem Textboxen zu arbeiten und das einzige, was funktioniert setztValidate Textbox, wenn ein anderes Textbox enthält Text

autoPostBack=true 

und in einer Postbacks textbox_change Veranstaltung hinzufügen

textBox3.Validator.Enabled = true; 

Aber ich habe bemerkt, dass Chrome und Edge Dosent immer das Postback-Ereignis auslösen und die Validierung dann nie aktiviert wird. Und es ist nicht benutzerfreundlich, ein Postback für so eine kleine Sache zu machen, wie nur eine Validierung hinzuzufügen. Es muss ein einfacher Weg sein ..

So habe ich diese

<asp:TextBox runat="server" ID="txt1"/> <--- Dont need validation on that one, when starting to type values are populated from a ajax call 
<asp:TextBox runat="server" ID="txt2"/> <--- Here i want to add validation when txt1 contains something, no validation should fire if the user steps in on txt1 and then out without writing text 
<asp:RequiredFieldValidator ID="txt2Validator" runat="server" Enabled="false" ErrorMessage="" Display="Static" SetFocusOnError="True" ValidationGroup="valgroup1" ControlToValidate="txt2"/> 
<asp:DropDownList ID="ddl1" runat="server" /> <--- also validate this only when txt1 contains text 
<asp:RequiredFieldValidator ID="ddl1Validator" runat="server" Enabled="false" ErrorMessage="" Display="Static" SetFocusOnError="True" ValidationGroup="valgroup1" ControlToValidate="ddl1"/> 

So ist es eine Möglichkeit, in Jquery, um die erforderlichen Feldvalidatoren einstellen Aktiviert = true, wenn txt1 Text vielleicht mit einem onblur enthält Veranstaltung?

gelöst Teils

Ok, so dass ich ein wenig war, um zu schnell nicht für mich selbst zu denken ... ich den ganzen Tag gekämpft haben Fehler in meiner Ajax-Anforderung zu finden und wenn das Fest bekam, war ich so aus denken Saft und gab einfach auf und fragte diese Frage. Aber mit dem Wissen, dass dieses Shouldent ein Problem ist, versuchte ich etwas zu kodieren und endete damit. Es klappt! JA! Das einzige, was ich tun würde, ist, wenn ich es nur hinzufügen kann Validierung, wenn txt1 Text enthält, jetzt Validierung ist aktiviert als Sohn, wie ich klicke in TXT1 und dann wieder aus. Gibt es irgendwelche, wenn this.txt1.contains.text dann mit jQuery?

<script type=text/javascript> 
    $(document).ready(function() { 
     $("#<%= txt1.ClientID %>").blur(function() { 
      ValidatorEnable(document.getElementById('<%=txt2Validator.ClientID%>'), true); 
      ValidatorEnable(document.getElementById('<%=ddl1Validator.ClientID%>'), true); 
     }); 
    }); 
</script> 

Antwort

0

OK .... wieder schnell eine neue Frage zu stellen ..

Lösung zu meinem Problem:

<script type=text/javascript> 
    $(document).ready(function() { 
     $("#<%= txt1.ClientID %>").blur(function() { 
      if ($("#<%= txt1.ClientID %>").val().length > 0) { 
       ValidatorEnable(document.getElementById('<%=txt2Validator.ClientID%>'), true); 
       ValidatorEnable(document.getElementById('<%=ddl1Validator.ClientID%>'), true); 
      } 
     }); 
    }); 
</script> 

Vielleicht nicht die beste aproatch aber es funktioniert.

Also die Frage, die steht .. Warum stellen Sie eine Frage, wenn Sie die Antwort darauf wissen? Vielleicht kann es anderen helfen. (oops hat es wieder getan, beantwortete meine eigene Frage)