diff --git a/docs/components/checkbox.md b/docs/components/checkbox.md index 87bfe8e4..54cfbc7d 100644 --- a/docs/components/checkbox.md +++ b/docs/components/checkbox.md @@ -72,14 +72,17 @@ Use the `setCustomValidity()` method to set a custom validation message. This wi const form = document.querySelector('.custom-validity'); const checkbox = form.querySelector('sl-checkbox'); const errorMessage = `Don't forget to check me!`; + // Set initial validity as soon as the element is defined customElements.whenDefined('sl-checkbox').then(() => { checkbox.setCustomValidity(errorMessage); }); + // Update validity on change checkbox.addEventListener('sl-change', () => { checkbox.setCustomValidity(checkbox.checked ? '' : errorMessage); }); + // Handle submit form.addEventListener('submit', event => { event.preventDefault(); @@ -91,19 +94,24 @@ Use the `setCustomValidity()` method to set a custom validation message. This wi ```jsx react import { useEffect, useRef } from 'react'; import { SlButton, SlCheckbox } from '@shoelace-style/shoelace/dist/react'; + const App = () => { const checkbox = useRef(null); const errorMessage = `Don't forget to check me!`; + function handleChange() { checkbox.current.setCustomValidity(checkbox.current.checked ? '' : errorMessage); } + function handleSubmit(event) { event.preventDefault(); alert('All fields are valid!'); } + useEffect(() => { checkbox.current.setCustomValidity(errorMessage); }, []); + return (