27 lines
911 B
JavaScript
27 lines
911 B
JavaScript
(() => {
|
|
const forms = document.querySelectorAll('.needs-validation');
|
|
forms.forEach((form) => {
|
|
form.addEventListener('submit', (event) => {
|
|
const message = form.querySelector('textarea[name="message"]');
|
|
if (message && message.value.trim().length < 10) {
|
|
message.setCustomValidity('Please enter at least 10 characters.');
|
|
} else if (message) {
|
|
message.setCustomValidity('');
|
|
}
|
|
if (!form.checkValidity()) {
|
|
event.preventDefault();
|
|
event.stopPropagation();
|
|
}
|
|
form.classList.add('was-validated');
|
|
});
|
|
});
|
|
|
|
const textarea = document.querySelector('textarea[name="message"]');
|
|
const counter = document.querySelector('[data-char-count]');
|
|
if (textarea && counter) {
|
|
const update = () => { counter.textContent = String(textarea.value.length); };
|
|
textarea.addEventListener('input', update);
|
|
update();
|
|
}
|
|
})();
|