-
Notifications
You must be signed in to change notification settings - Fork 22.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
New pages for HTML*Element.validity (#35660)
* New pages for HTML*Element.validity * Comments * Button fixes
- Loading branch information
Showing
10 changed files
with
291 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
--- | ||
title: "HTMLButtonElement: validity property" | ||
short-title: validity | ||
slug: Web/API/HTMLButtonElement/validity | ||
page-type: web-api-instance-property | ||
browser-compat: api.HTMLButtonElement.validity | ||
--- | ||
|
||
{{APIRef("HTML DOM")}} | ||
|
||
The **`validity`** read-only property of the {{domxref("HTMLButtonElement")}} interface returns a {{domxref("ValidityState")}} object that represents the validity states this element is in. | ||
|
||
## Value | ||
|
||
A {{domxref("ValidityState")}} object. | ||
|
||
## Examples | ||
|
||
The following example demonstrates that a `<button>` is in an invalid state when a {{domxref("ValidityState/customError", "customError")}} is set; in this state, the `validityState`'s `validity` property is `false`, while {{domxref("HTMLFieldSetElement/checkValidity", "checkValidity()")}} returns `true` if the button's {{domxref("HTMLButtonElement/type", "type")}} is not `"submit"`, because such buttons are not candidates for [constraint validation](/en-US/docs/Web/HTML/Constraint_validation). | ||
|
||
```js | ||
const button = document.getElementById("myButton"); | ||
button.setCustomValidity("This button is invalid."); | ||
const validityState = button.validity; | ||
console.log(validityState.valid); // false | ||
console.log(validityState.customError); // true | ||
console.log(button.checkValidity()); // false if the button is of the "submit" type, true otherwise | ||
``` | ||
|
||
## Specifications | ||
|
||
{{Specifications}} | ||
|
||
## Browser compatibility | ||
|
||
{{Compat}} | ||
|
||
## See also | ||
|
||
- {{domxref("HTMLButtonElement.checkValidity()")}} | ||
- {{HTMLElement("button")}} | ||
- {{HTMLElement("form")}} | ||
- [Learn: Client-side form validation](/en-US/docs/Learn/Forms/Form_validation) | ||
- [Guide: Constraint validation](/en-US/docs/Web/HTML/Constraint_validation) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
--- | ||
title: "HTMLFieldSetElement: validity property" | ||
short-title: validity | ||
slug: Web/API/HTMLFieldSetElement/validity | ||
page-type: web-api-instance-property | ||
browser-compat: api.HTMLFieldSetElement.validity | ||
--- | ||
|
||
{{APIRef("HTML DOM")}} | ||
|
||
The **`validity`** read-only property of the {{domxref("HTMLFieldSetElement")}} interface returns a {{domxref("ValidityState")}} object that represents the validity states this element is in. Although {{HTMLElement("fieldset")}} elements are never candidates for [constraint validation](/en-US/docs/Web/HTML/Constraint_validation), the validity state may still be invalid if a custom validity message has been set. | ||
|
||
> [!NOTE] | ||
> The {{cssxref(":valid")}} and {{cssxref(":invalid")}} CSS pseudo-classes are applied to `<fieldset>` elements based on the validity of its descendant form controls, not the fieldset itself. | ||
## Value | ||
|
||
A {{domxref("ValidityState")}} object. | ||
|
||
## Examples | ||
|
||
The following example demonstrates that a `<fieldset>` is in an invalid state when a {{domxref("ValidityState/customError", "customError")}} is set; in this state, {{domxref("HTMLFieldSetElement/checkValidity", "checkValidity()")}} returns `true` while the `validityState`'s `validity` property is `false`. | ||
|
||
```js | ||
const fieldSet = document.getElementById("myFieldSet"); | ||
fieldSet.setCustomValidity("This fieldset is invalid."); | ||
const validityState = fieldSet.validity; | ||
console.log(validityState.valid); // false | ||
console.log(validityState.customError); // true | ||
console.log(fieldSet.checkValidity()); // true | ||
``` | ||
|
||
> [!NOTE] | ||
> The {{cssxref(":valid")}} and {{cssxref(":invalid")}} CSS pseudo-classes are applied to `<fieldset>` elements based on the validity of its descendant form controls, not the fieldset itself. | ||
## Specifications | ||
|
||
{{Specifications}} | ||
|
||
## Browser compatibility | ||
|
||
{{Compat}} | ||
|
||
## See also | ||
|
||
- {{domxref("HTMLFieldSetElement.checkValidity()")}} | ||
- {{HTMLElement("fieldset")}} | ||
- {{HTMLElement("form")}} | ||
- [Learn: Client-side form validation](/en-US/docs/Learn/Forms/Form_validation) | ||
- [Guide: Constraint validation](/en-US/docs/Web/HTML/Constraint_validation) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
--- | ||
title: "HTMLInputElement: validity property" | ||
short-title: validity | ||
slug: Web/API/HTMLInputElement/validity | ||
page-type: web-api-instance-property | ||
browser-compat: api.HTMLInputElement.validity | ||
--- | ||
|
||
{{APIRef("HTML DOM")}} | ||
|
||
The **`validity`** read-only property of the {{domxref("HTMLInputElement")}} interface returns a {{domxref("ValidityState")}} object that represents the validity states this element is in. | ||
|
||
## Value | ||
|
||
A {{domxref("ValidityState")}} object. | ||
|
||
## Examples | ||
|
||
The following example gets the validity state of an input element and processes it if it is not valid: | ||
|
||
```js | ||
const input = document.getElementById("myInput"); | ||
const validityState = input.validity; | ||
if (!validityState.valid) { | ||
// Test each validity state | ||
} | ||
``` | ||
|
||
## Specifications | ||
|
||
{{Specifications}} | ||
|
||
## Browser compatibility | ||
|
||
{{Compat}} | ||
|
||
## See also | ||
|
||
- {{domxref("HTMLInputElement.checkValidity()")}} | ||
- {{HTMLElement("input")}} | ||
- {{HTMLElement("form")}} | ||
- [Learn: Client-side form validation](/en-US/docs/Learn/Forms/Form_validation) | ||
- [Guide: Constraint validation](/en-US/docs/Web/HTML/Constraint_validation) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
--- | ||
title: "HTMLOutputElement: validity property" | ||
short-title: validity | ||
slug: Web/API/HTMLOutputElement/validity | ||
page-type: web-api-instance-property | ||
browser-compat: api.HTMLOutputElement.validity | ||
--- | ||
|
||
{{APIRef("HTML DOM")}} | ||
|
||
The **`validity`** read-only property of the {{domxref("HTMLOutputElement")}} interface returns a {{domxref("ValidityState")}} object that represents the validity states this element is in. Although {{HTMLElement("output")}} elements are never candidates for [constraint validation](/en-US/docs/Web/HTML/Constraint_validation), the validity state may still be invalid if a custom validity message has been set. | ||
|
||
## Value | ||
|
||
A {{domxref("ValidityState")}} object. | ||
|
||
## Examples | ||
|
||
The following example demonstrates that an `<output>` is in an invalid state when a {{domxref("ValidityState/customError", "customError")}} is set; in this state, {{domxref("HTMLOutputElement/checkValidity", "checkValidity()")}} returns `true` while the `validityState`'s `validity` property is `false`. | ||
|
||
```js | ||
const output = document.getElementById("myOutput"); | ||
output.setCustomValidity("This object element is invalid."); | ||
const validityState = output.validity; | ||
console.log(validityState.valid); // false | ||
console.log(validityState.customError); // true | ||
console.log(output.checkValidity()); // true | ||
``` | ||
|
||
## Specifications | ||
|
||
{{Specifications}} | ||
|
||
## Browser compatibility | ||
|
||
{{Compat}} | ||
|
||
## See also | ||
|
||
- {{domxref("HTMLOutputElement.checkValidity()")}} | ||
- {{HTMLElement("output")}} | ||
- {{HTMLElement("form")}} | ||
- [Learn: Client-side form validation](/en-US/docs/Learn/Forms/Form_validation) | ||
- [Guide: Constraint validation](/en-US/docs/Web/HTML/Constraint_validation) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
--- | ||
title: "HTMLSelectElement: validity property" | ||
short-title: validity | ||
slug: Web/API/HTMLSelectElement/validity | ||
page-type: web-api-instance-property | ||
browser-compat: api.HTMLSelectElement.validity | ||
--- | ||
|
||
{{APIRef("HTML DOM")}} | ||
|
||
The **`validity`** read-only property of the {{domxref("HTMLSelectElement")}} interface returns a {{domxref("ValidityState")}} object that represents the validity states this element is in. | ||
|
||
## Value | ||
|
||
A {{domxref("ValidityState")}} object. | ||
|
||
## Example | ||
|
||
The following example gets the validity state of a select element and processes it if it is not valid: | ||
|
||
```js | ||
const select = document.getElementById("mySelect"); | ||
const validityState = select.validity; | ||
if (!validityState.valid) { | ||
// Test each validity state | ||
} | ||
``` | ||
|
||
## Specifications | ||
|
||
{{Specifications}} | ||
|
||
## Browser compatibility | ||
|
||
{{Compat}} | ||
|
||
## See also | ||
|
||
- {{domxref("HTMLSelectElement.checkValidity()")}} | ||
- {{HTMLElement("select")}} | ||
- {{HTMLElement("form")}} | ||
- [Learn: Client-side form validation](/en-US/docs/Learn/Forms/Form_validation) | ||
- [Guide: Constraint validation](/en-US/docs/Web/HTML/Constraint_validation) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
--- | ||
title: "HTMLTextAreaElement: validity property" | ||
short-title: validity | ||
slug: Web/API/HTMLTextAreaElement/validity | ||
page-type: web-api-instance-property | ||
browser-compat: api.HTMLTextAreaElement.validity | ||
--- | ||
|
||
{{APIRef("HTML DOM")}} | ||
|
||
The **`validity`** read-only property of the {{domxref("HTMLTextAreaElement")}} interface returns a {{domxref("ValidityState")}} object that represents the validity states this element is in. | ||
|
||
## Value | ||
|
||
A {{domxref("ValidityState")}} object. | ||
|
||
## Examples | ||
|
||
The following example gets the validity state of a text area element and processes it if it is not valid: | ||
|
||
```js | ||
const textArea = document.getElementById("myTextArea"); | ||
const validityState = textArea.validity; | ||
if (!validityState.valid) { | ||
// Test each validity state | ||
} | ||
``` | ||
|
||
## Specifications | ||
|
||
{{Specifications}} | ||
|
||
## Browser compatibility | ||
|
||
{{Compat}} | ||
|
||
## See also | ||
|
||
- {{domxref("HTMLTextAreaElement.checkValidity()")}} | ||
- {{HTMLElement("textarea")}} | ||
- {{HTMLElement("form")}} | ||
- [Learn: Client-side form validation](/en-US/docs/Learn/Forms/Form_validation) | ||
- [Guide: Constraint validation](/en-US/docs/Web/HTML/Constraint_validation) |