2016-05-05 9 views
0

Ich validiere Daten und ich überprüfte die Unterstützung für Browser einfach, und die Validierungsfunktion funktioniert gut in Firefox, weil, wenn ich ein ungültiges Datum sende, versuche ich ein neues Datum zu erstellen von dem erhaltenen Wert. Wenn der Wert des neuen Datums "Invalid Date" ist, geben Sie false und alert mit einer Fehlermeldung zurück. Das Problem ist, dass dies bei Chrome überhaupt nicht funktioniert. Ich habe meine Ajax ausgeführt werden, wann immer Daten leer sind (ich möchte den Benutzer verlassen lassen Datenfelder leer und noch in der Lage sein, Daten zu filtern).webkit Eingabetyp = Datum Senden leerer Wert bei falschem Datum

In Chrome, da es den Wert als leer sendet, wenn ich ein ungültiges Datum (zum Beispiel 2016-02-31) einfüge, wird der Ajax ausgeführt, als ob das Feld leer wäre, wenn es nicht ist. Ich möchte verhindern, dass dies geschieht.

Ich überprüfe alle HTML-Attribute und Ereignisse, die dies tun könnten, aber ich bin mir nicht sicher, was ich verwenden soll. Ich habe versucht, onerror eine Funktion übergeben, die falsch zurückgibt. Nichts hat sich geändert. onpatternmismatch vielleicht?

Antwort

1

Sie können durch die folgenden Möglichkeiten, um solches ungültiges Datum erkennen:

  • input.validity.badInput, wenn Sie diesen speziellen Fehler erkennen mögen
  • !input.validity.valid oder !input.checkValidity() wenn Sie möchten, dass min/max erfassen/erforderlich Gültigkeitsfehler sowie ungültiges Datum
  • !form.checkValidity() wenn Sie Validierungsfehler aller mit dem Formular verbundenen Elemente erkennen möchten.
+0

Danke! Das hat funktioniert. – Lorthas