/ / Datannotations + asp.net mvc 3 + clientseitige Validierung (tritt erst ein, wenn eine Formularübergabe stattfindet) - asp.net-mvc, asp.net-mvc-3, jquery-validate, Datenanmerkungen

Datannotations + asp.net mvc 3 + clientseitige Validierung (tritt erst ein, wenn eine Formularübergabe stattfindet) - asp.net-mvc, asp.net-mvc-3, jquery-validate, Datenanmerkungen

Ich benutze asp.net mvc 3, jquery validieren, ungehindert JavaScript und Daten-Annotationen.

Ich habe bemerkt, dass du in der Textbox A sagst, das ist aerforderlich und klicken Sie darauf keine Validierung wird wie. Es ist so, als hätte das Javascript nicht Einzug gehalten. Wenn sie auf den Submit-Button klicken, erscheint die Validierung.

Wenn sie dann zurück zu Textfeld A gehen und anfangen zu tippen, verschwindet die Validierung. Also funktioniert die clientseitige Validierung.

Ich wundere mich, ist da weg, um die Client-Seite Validierung sofort eingreifen?

Antworten:

3 für die Antwort № 1

Hier ist was los und warum.

  1. Textbox beginnt als leer. Sie werden ein- und ausgeblendet, und es findet keine Validierung statt (es sei denn, Sie haben auf "Senden" geklickt).
  2. Sie geben einige Werte ein. Sie Registerkarte über und jetzt Validierung ausgelöst (aber Ihr Textfeld hat einen Wert, so kein Fehler)
  3. Sie gehen zurück zum Textfeld und löschen den Wert. Sie Tab und jetzt erhalten Sie die Überprüfungsmeldung.

Der Grund für dieses Verhalten ist, dass wir nicht wollen, dass Fehler im gesamten Formular angezeigt werden, nur weil der Benutzer nicht entscheiden kann, welches Feld er zuerst ausfüllen möchte.


1 für die Antwort № 2

So wurde die unauffällige clientseitige Validierung von ASP.NET MVC 3 implementiert. Wenn Sie dieses Verhalten ändern möchten, können Sie Ihre eigenen Validierungsregeln und -optionen immer mit dem jquery.validate Plugin:

$("#myForm").validate({
rules: {
name: {
email: true
}
}
});