Sehen Sie sich diese beiden Fideln in Firefox oder Chrome an. In this eins, ich habe nur ein einfaches Formular mit einem required
Attribut und einem submit
Knopf. Drücken Sie "Senden", wenn das Feld leer ist, wird es als invalid
formatiert (in Firefox ist es eine rote Umrandung). Aber es wartet, bis Sie auf "Senden" klicken, um zu zeigen, dass es ungültig ist.Eingabe: Ungültige CSS-Regel wird beim Laden der Seite angewendet
Jetzt versuchen this eins. Es ist identisch, mit der Ausnahme, dass es einige CSS:
input:invalid{
border-color:orange
}
Außer dieser Zeit die orangefarbene Randfarbe aufgetragen wird sogar vor einreichen gedrückt wird. Wenn Sie also nur einen invalid
Stil für ein Formular manuell festlegen, wendet der Browser es vorher an, was nicht intuitives Verhalten ist. Natürlich ist ein Pflichtfeld ungültig, bevor Sie etwas eingeben.
Gibt es eine Möglichkeit, das zu beheben?
Laut den [MDN Docs] (https://developer.mozilla.org/en-US/docs/Web/CSS/:invalid#HTML_Content) für die Pseudoklasse ': invalid' scheint es so zu sein Arbeiten wie die Spezifikation umreißt es um zu arbeiten. – War10ck