ValidityState: tooLong-Eigenschaft

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since December 2018.

Die schreibgeschützte tooLong-Eigenschaft des ValidityState-Interfaces zeigt an, ob der Wert eines <input> oder <textarea>, nachdem er vom Benutzer bearbeitet wurde, die maximale Code-Einheit-Länge überschreitet, die durch das maxlength-Attribut des Elements festgelegt wurde.

Wert

Ein Boolescher Wert, der true ist, wenn der ValidityState nicht den Einschränkungen entspricht.

Beispiele

Textarea mit zu vielen Zeichen

Das folgende Beispiel überprüft die Gültigkeit eines textarea-Elements. Eine Einschränkung wurde mit dem maxlength-Attribut hinzugefügt, so dass das textarea maximal 10 Zeichen erwartet. Wenn zu viele Zeichen im textarea vorhanden sind (wie unten der Fall), schlägt die Beschränkungsvalidierung des Elements fehl, und die Stile, die zur :invalid CSS-Pseudoklasse passen, werden angewendet.

Beim Bearbeiten des textarea erlaubt der Browser nicht, dass der Benutzer Zeichen hinzufügt, die die Beschränkungsvalidierung der maximalen Zeichenanzahl verfehlen würden, sodass anfangs nur das Löschen von Zeichen erlaubt ist. Neue Zeilenzeichen werden normalisiert und zählen als ein einzelnes Zeichen in der Berechnung der maximalen Länge.

css
textarea:invalid {
  outline: red solid 3px;
}
html
<pre id="log">Validation logged here...</pre>
<textarea name="story" id="userText" maxlength="10" rows="5">
It was a dark and


stormy night...
</textarea>
js
const userInput = document.getElementById("userText");
const logElement = document.getElementById("log");

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

userInput.addEventListener("input", () => {
  userInput.reportValidity();
  if (userInput.validity.tooLong) {
    log("Too many characters in the textarea.");
  } else {
    log("Input is valid…");
  }
});

Spezifikationen

Specification
HTML Standard
# dom-validitystate-toolong-dev

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch