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 der ValidityState-Schnittstelle gibt an, ob der Wert eines <input>- oder <textarea>-Elements, nachdem er vom Benutzer bearbeitet wurde, die durch das maxlength-Attribut des Elements festgelegte maximale Code-Unit-Länge überschreitet.

Wert

Ein Boolean, 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, sodass die Textarea maximal 10 Zeichen erwartet. Wenn sich zu viele Zeichen in der Textarea befinden (was unten der Fall ist), schlägt die Einschränkungsgültigkeitsprüfung des Elements fehl und die Stile, die :invalid-CSS-Pseudoklasse entsprechen, werden angewendet.

Beim Bearbeiten der Textarea erlaubt der Browser dem Benutzer nicht, Zeichen hinzuzufügen, die die Einschränkungsgültigkeitsprüfung der maximalen Zeichenanzahl nicht bestehen würden, sodass zunächst nur das Löschen von Zeichen erlaubt ist. Zeilenumbruchzeichen werden normalisiert und zählen bei der Berechnung der maximalen Länge als ein einziges Zeichen.

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