Modell:
%Vor%Formular:
%Vor%Skript:
%Vor%Ich möchte die erforderliche Eigenschaft entfernen, wenn eine Bedingung erfüllt ist. Dies ist nicht möglich. Wie kann ich dies erreichen?
Bei JavaScript wird zwischen Groß- und Kleinschreibung unterschieden.
Verwenden Sie
%Vor%Achten Sie darauf, dass Ihr Code nicht funktioniert, wenn Sie versuchen, auf das Element zuzugreifen, bevor es existiert. Setzen Sie Ihr Skript nach dem Element, wenn Sie den Code für ein Ereignis nicht ausführen:
%Vor%Beachten Sie auch, dass Sie dies in einer Übergabefunktion nicht ändern können und erwarten, dass Ihr Formular gesendet wird, weil es zu spät ist: Dieser Ereignishandler wird nicht aufgerufen, wenn das erforderliche Feld nicht ausgefüllt ist!
Wenn die Funktion On Submit
das erforderliche Attribut entfernen soll, hat das Formular die Validierung bereits bestanden. Zuerst müssen Sie die Validierung deaktivieren, dann können Sie das Formular mit den erforderlichen Feldern ausfüllen. Entfernen Sie als nächstes die erforderlichen Attribute und führen Sie die Validierung schließlich manuell über $.validator.unubtrusive.parse(form)
aus. Dadurch wird das Formular jetzt validiert, indem die anderen Validierungstypen wie string length
und formatting
aufgerufen werden, alles andere als die erforderlichen Attribute. Überprüfen Sie if form.valid() then submit() else
nichts.
In php ist es sehr einfach, das wird Ihr Formular beim Einreichen nicht validieren,
%Vor%Ich bin mir nicht sicher, ob jemand einen besseren Weg gefunden hat, dies zu tun, und es ist vielleicht nicht der effizienteste Weg, dies zu tun, aber Sie könnten PHP dafür verwenden. Wenn die Bedingung, die Sie erfüllen möchten, vor dem Laden der Seite bekannt ist, können Sie Folgendes haben:
%Vor%Tags und Links javascript jquery html5 asp.net-mvc-4