Ich habe eine Situation, wenn ich versuche zu überprüfen, ob ein Formular gültig ist, aber form.valid () gibt immer wahr zurück. Aber wenn ich versuche, das einzelne Steuerelement zu validieren, gibt es false zurück.
Das ist meine Form:
%Vor%Das ist mein Viewmodel:
%Vor%Dies ist der jQuery-Code:
%Vor%Und auf die Schaltfläche Speichern klicken:
%Vor%Ich möchte, dass die form.valid () auch falsch zurückgibt, was mache ich falsch?
Die Frage hat bereits eine akzeptierte Antwort, aber ich glaube, dass ich eine spezifischere Antwort gefunden habe. Ich habe gefunden, dass, wenn das erste validierte Element in dem Formular ein "Name" -Tag hat, alles so funktioniert, wie Sie erwarten würden (das heißt, .valid () wird false zurückgeben, wenn das Formular ungültig ist). Die akzeptierte Antwort enthielt praktisch ein "Name" -Tag und so funktionierte es.
In normalen Formularen benötigen Sie unbedingt Namensschilder, da diese verwendet werden, wenn die Daten an den Server gesendet werden. Aber in moderneren Umgebungen, wie denen, die Knockout verwenden, gibt es keinen Grund, ein "Name" -Tag zu haben, da die Datenbindung funktioniert, um Ihr Datenmodell auf dem neuesten Stand zu halten.
Ich habe auf beide Dateien verwiesen:
Verweis auf jquery.validate.unobstrusive.js entfernen , für mich behoben
hoffe das hilft jemandem
Tags und Links jquery jquery-validate unobtrusive-validation