Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

ValidityState: badInput-Eigenschaft

Baseline
Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Dezember 2018 browserübergreifend verfügbar.

Die schreibgeschützte Eigenschaft badInput der Schnittstelle ValidityState gibt an, ob der Benutzer eine Eingabe gemacht hat, die der Browser nicht konvertieren kann. Das ist beispielsweise der Fall, wenn der Inhalt eines Eingabeelements für Zahlen eine Zeichenfolge ist.

Wert

Ein boolescher Wert, der true ist, wenn die Eingabe nicht dem erwarteten Typ entspricht.

Beispiele

Ungültige Eingabe erkennen

Das folgende Beispiel prüft die Gültigkeit eines Eingabeelements für Zahlen. Wenn der Benutzer Text statt einer Zahl eingibt, besteht das Element die Constraint-Validierung nicht, und die Formatierungen für input:invalid werden angewendet. Das <pre>-Element oberhalb des Eingabefelds zeigt die Validierungsmeldung an, wenn badInput für das Element true ergibt:

css
input:invalid {
  outline: red solid 3px;
}
html
<pre id="log">Validation logged here...</pre>
<input type="number" id="age" />
js
const userInput = document.getElementById("age");
const logElement = document.getElementById("log");

function log(text) {
  logElement.innerText = text;
}

userInput.addEventListener("input", () => {
  userInput.reportValidity();
  if (userInput.validity.badInput) {
    log(`Bad input detected: ${userInput.validationMessage}`);
  }
});

Spezifikationen

Spezifikation
HTML
# dom-validitystate-badinput-dev

Browser-Kompatibilität

Siehe auch