Aktivierung/Deaktivierung von requiredFieldValidators mit javascript und server-Seite
Ich habe ein drop down (dropdown2), die erforderlich ist, WENN es etwas, aber es ist dann Optionen Daten getrieben wird per ajax aus einer anderen dropdown (dropdown1) Auswahl. Manchmal dropdown2 leer, und in dem Fall kann ich nicht verlangen. So kann ich deaktivieren Sie die requiredFieldValidators
im javascript durch Aufruf dieses...
ValidatorEnable(document.getElementById(validatorId), false);
Dieser funktioniert einwandfrei, aber der server immer noch feuert die requiredFieldValidator
Logik. Ist jemand bekannt, der, wie ich erzwingen kann der server nicht überprüfen, wenn der Prüfer festgelegt ist false client-Seite?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Warum verwenden Sie nicht nur einen client-validator? Sie machen Ihre Arbeit viel schwieriger, dies zu tun. Wenn Sie Zugriff darauf haben Sie über die clientseitigen, warum sind Sie stört, trifft es auf die serverside?
Die einzige andere Sache, die ich denken kann, ist zum erstellen ein verstecktes Feld, und legen Sie es über die client-Seite, und dann, wenn Sie ein postback zu überprüfen Sie diesen Wert und deaktivieren /aktivieren Sie die validator.
Zum Beispiel nach dieser:
JS:
Dann im load-Ereignis:
Werfen Sie einen Blick auf diese post, sehr ähnlich wie deins: ASP.NET - so beenden Sie nicht benötigte server-Validierung
DEAKTIVIEREN
AKTIVIEREN
Erfordern Prüfer injiziert, die in das DOM als span-Elemente.
Wenn Sie mit JQUERY, Holen Sie das element über einen jQuery-Selektor, dann Holen Sie sich das DOM-element aus der Auswahl eine Sie festgelegt sind.
Hier ist ein Beispiel:
Können sagen, Sie haben ein verlangen validator-id="MyReqValidator".
In Ihre javascript-Datei, die Sie tun werden:
Alles in einer Zeile code
So habe ich nicht bekommen, JonH Antwort zu arbeiten, und der rest ist nur client-Seite. Dies ist also meine Lösung:
Deaktivieren eines RequiredFieldValidator auf der client-Seite:
Deaktivieren eines RequiredFieldValidator auf der server-Seite können Sie überschreiben Sie die Validate () - Methode wie diese:
Oder, in VBasic: