Skip to content
document.addEventListener("DOMContentLoaded", function () {
const today = new Date().toISOString().split("T")[0];
function enforceMinDate() {
const field = document.querySelector("#form-field-fromdate");
if (!field) return; // field not yet loaded
// Set native HTML min
field.setAttribute("min", today);
// If Flatpickr exists, apply minDate
if (field._flatpickr) {
field._flatpickr.set("minDate", today);
}
}
// Keep checking until everything is ready
const fixInterval = setInterval(function () {
const field = document.querySelector("#form-field-fromdate");
if (field && field._flatpickr) {
enforceMinDate();
clearInterval(fixInterval);
} else {
enforceMinDate(); // keep trying
}
}, 200);
// Reapply if user opens the calendar
document.addEventListener("click", enforceMinDate, true);
});
document.addEventListener("DOMContentLoaded", function () {
const emailField = document.querySelector('input[name="form_fields[email]"]');
if (emailField) {
emailField.addEventListener("input", function () {
const pattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[A-Za-z]{2,}$/;
if (!pattern.test(emailField.value)) {
emailField.setCustomValidity("Please enter a valid email address (e.g. example@domain.com)");
} else {
emailField.setCustomValidity("");
}
});
}
});