40151-vm/assets/js/main.js
2026-05-29 06:25:15 +00:00

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();
}
})();