HTMLButtonElement: reportValidity() Methode - Web-APIs | MDN
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 reportValidity()-Methode des HTMLButtonElement-Interfaces führt dieselben Gültigkeitsprüfungen durch wie die checkValidity()-Methode. Zusätzlich zeigt der Browser, wenn das invalid-Ereignis nicht abgebrochen wird, dem Benutzer das Problem an.
Syntax
Parameter
Keine.
Rückgabewert
Gibt true zurück, wenn der Wert des Elements keine Gültigkeitsprobleme hat; andernfalls gibt er false zurück.
Beispiele
Dieses weit hergeholte Beispiel demonstriert, wie ein Button ungültig gemacht werden kann.
HTML
Wir erstellen ein Formular, das nur ein paar Buttons enthält:
html
<form action="#" id="form" method="post">
<p>
<input type="submit" value="Submit" />
<button id="example" type="submit" value="fixed">THIS BUTTON</button>
</p>
<p>
<button type="button" id="report">reportValidity()</button>
</p>
</form>
<p id="log"></p>
CSS
Wir fügen ein wenig CSS hinzu, einschließlich :valid und :invalid Styles für unseren Button:
css
input[type="submit"],
button {
background-color: #3333aa;
border: none;
font-size: 1.3rem;
padding: 5px 10px;
color: white;
}
button:invalid {
background-color: #aa3333;
}
button:valid {
background-color: #33aa33;
}
JavaScript
Wir fügen eine Funktion hinzu, um den Wert, den Inhalt und die Validierungsnachricht des Beispiel-Buttons zu wechseln:
js
const reportButton = document.querySelector("#report");
const exampleButton = document.querySelector("#example");
const output = document.querySelector("#log");
reportButton.addEventListener("click", () => {
const reportVal = exampleButton.reportValidity();
output.innerHTML = `reportValidity returned: ${reportVal} <br/> custom error: ${exampleButton.validationMessage}`;
});
exampleButton.addEventListener("invalid", () => {
console.log("Invalid event fired on exampleButton");
});
exampleButton.addEventListener("click", (e) => {
e.preventDefault();
if (exampleButton.value === "error") {
breakOrFixButton("fixed");
} else {
breakOrFixButton("error");
}
output.innerHTML = `validation message: ${exampleButton.validationMessage} <br/> custom error: ${exampleButton.validationMessage}`;
});
function breakOrFixButton() {
const state = toggleButton();
if (state === "error") {
exampleButton.setCustomValidity("This is a custom error message");
} else {
exampleButton.setCustomValidity("");
}
}
function toggleButton() {
if (exampleButton.value === "error") {
exampleButton.value = "fixed";
exampleButton.innerHTML = "No error";
} else {
exampleButton.value = "error";
exampleButton.innerHTML = "Custom error";
}
return exampleButton.value;
}
Ergebnisse
Der Button ist standardmäßig gültig. Aktivieren Sie "DIESER BUTTON", um den Wert, den Inhalt zu ändern und eine benutzerdefinierte Fehlermeldung hinzuzufügen. Das Aktivieren des "reportValidity()" Buttons prüft die Gültigkeit des Buttons, meldet die benutzerdefinierte Fehlermeldung dem Benutzer und löst ein invalid-Ereignis aus, wenn der Button aufgrund der Nachricht die Einschränkungsvalidierung nicht besteht.
Spezifikationen
| Spezifikation |
|---|
| HTML # dom-cva-reportvalidity-dev |
Browser-Kompatibilität
Siehe auch
Help improve MDN
Erfahren Sie, wie Sie beitragen können Diese Seite wurde automatisch aus dem Englischen übersetzt.