2017-12-19 14 views
0

Ich habe ein Formular mit einem <input type="date" required>, aber wenn dieses Feld leer gelassen wird, postet es nur das aktuelle Datum. Es wird nicht als leer validiert, es wird nicht als leer gepostet.POSTING eine leere html5 Datumseingang sendet heute

Dieses Verhalten ist ziemlich störend, da ich nicht auf der Server-Seite leeren kann. Es sendet ein gültiges Datum, so dass die Eingabe akzeptiert wird.

The W3C specification Zustände:

Der sanitization Algorithmus Wert ist wie folgt: Wenn der Wert des Elements kein gültiges Datum String ist, dann stattdessen auf die leere Zeichenfolge festgelegt.

Also, das ist, was ich frage:

  • Bin Interpretation ich die Spezifikation richtig, wenn ich denke, es sollte eine leere Zeichenfolge POST, wenn keine Eingabe gegeben ist?
  • Gibt es eine bekannte Problemumgehung für dieses "Problem"?

UPDATE: Ich das Frontend Validierung auffiel, war ein wenig vermasselt, weil die von jQuery ausgelöst wurde einreichen. Aufgrund bestimmter Layout-Optionen konnte die Senden-Schaltfläche nicht innerhalb des Tags <form> platziert werden.

Antwort

1

Sie haben die Spezifikation korrekt gelesen und sie sollte standardmäßig auf eine leere Zeichenfolge eingestellt sein. Dieses Verhalten unterscheidet sich jedoch basierend auf dem von Ihnen verwendeten Browser.

Um sicherzustellen, dass es standardmäßig auf eine leere Zeichenfolge Sie einen Wert hinzufügen = „“ innerhalb des Tags