Validation
Validation
Section titled “Validation”Introduction
Section titled “Introduction”Validate form input using the Constraint Validation API for real-time feedback.
Real-Time Validation
Section titled “Real-Time Validation”const input = document.querySelector('input[type="email"]');
input.addEventListener('input', () => { if (input.validity.valid) { input.classList.remove('invalid'); input.classList.add('valid'); } else { input.classList.add('invalid'); input.classList.remove('valid'); console.log(input.validationMessage); }});Constraint Validation API
Section titled “Constraint Validation API”input.validity.valueMissing; // Required but emptyinput.validity.typeMismatch; // Wrong email/URL formatinput.validity.tooShort; // Below minlengthinput.validity.rangeUnderflow; // Below min valueinput.validity.patternMismatch; // Doesn't match pattern attributeinput.validity.valid; // All constraints pass (the one to check)Custom Validation
Section titled “Custom Validation”input.addEventListener('input', () => { if (input.value.length < 3) { input.setCustomValidity('Must be at least 3 characters'); } else if (!input.value.includes('@')) { input.setCustomValidity('Must be a valid email'); } else { input.setCustomValidity(''); // Clear custom error } input.reportValidity(); // Show the error message});Summary
Section titled “Summary”- Use
input.validity.validto check if a field is valid - Check specific validity properties for detailed errors
setCustomValidity()for custom validation messagesreportValidity()to display validation messages