ValidityState: tooLong property
{{APIRef("HTML DOM")}}
The read-only tooLong
property of the ValidityState
interface indicates if the value of an {{HTMLElement("input")}}
or {{HTMLElement("textarea")}}
, after having been edited by the user, exceeds the maximum code-unit length established by the element’s maxlength
attribute.
Value
A boolean that is true
if the ValidityState
does not conform to the constraints.
Examples
Textarea with too long character count
The following example checks the validity of a textarea element.
A constraint has been added using the maxlength
attribute so the textarea expects a maximum of 10 characters.
If there are too many characters in the textarea (which is true below), the element fails constraint validation, and the styles matching {{cssxref(":invalid")}}
CSS pseudo-class are applied.
When editing the textarea, the browser will not allow the user to add characters that would fail constraint validation of maximum character count, so at first, only deleting characters is allowed. Newline characters are normalized and count as a single character in the maximum length calculation.
textarea:invalid {
outline: red solid 3px;
}
body {
margin: 0.5rem;
}
textarea {
width: 75%;
}
pre {
padding: 1rem;
height: 2rem;
background-color: lightgrey;
outline: 1px solid grey;
}
<pre id="log">Validation logged here...</pre>
<textarea name="story" id="userText" maxlength="10" rows="5">
It was a dark and
stormy night...
</textarea>
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…");
}
});
{{EmbedLiveSample("input_with_too_long_string_value", "100%", "200")}}
Specifications
{{Specifications}}
Browser compatibility
{{Compat}}