Skip to content

Instantly share code, notes, and snippets.

@HubSpotHanevold
Last active December 3, 2024 20:00
Show Gist options
  • Save HubSpotHanevold/c033c41a0d1193b85de7d97759bd4a00 to your computer and use it in GitHub Desktop.
Save HubSpotHanevold/c033c41a0d1193b85de7d97759bd4a00 to your computer and use it in GitHub Desktop.
Validate additional property as email only
<script>
document.addEventListener("DOMContentLoaded", function() {
setTimeout(function() {
const emailInput = document.querySelector('input[name="2-8330456/tour_contact_email"]');
emailInput.addEventListener("input", function() {
const emailPattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
const parentDiv = emailInput.closest('.input');
let messageDiv = parentDiv.querySelector('.email-error');
// If the message div doesn't exist, create it
if (!messageDiv) {
messageDiv = document.createElement('div');
messageDiv.className = 'email-error';
parentDiv.appendChild(messageDiv);
}
if (!emailPattern.test(emailInput.value)) {
messageDiv.textContent = "Please enter a valid email address.";
emailInput.setCustomValidity("Invalid email address.");
}else {
messageDiv.textContent = ""; // Clear the error message
emailInput.setCustomValidity(""); // Clear the custom validity
}
});
}, 2000);
});
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment