Skip to content

Commit a91d0a3

Browse files
Added validation to the Community Newsletter form
1 parent 568ccec commit a91d0a3

File tree

1 file changed

+49
-1
lines changed

1 file changed

+49
-1
lines changed

_includes/subscribe.html

+49-1
Original file line numberDiff line numberDiff line change
@@ -49,13 +49,18 @@
4949
id="mc-embedded-subscribe-form"
5050
name="mc-embedded-subscribe-form"
5151
class="validate"
52-
onsubmit="document.getElementById(mc-embedded-subscribe-form).submit();"
52+
onsubmit="return validateForm(event);"
5353
>
5454
<div id="mc_embed_signup_scroll">
5555
<div class="subscribe-inputbox">
5656
<input type="text" value="" placeholder="First Name" name="FNAME" class="NAME" id="mce-FNAME" required />
5757
<input type="text" value="" placeholder="Last Name" name="LNAME" class="NAME" id="mce-LNAME" required />
5858
</div>
59+
<div class="subscribe-container" style="color: red; display: flex; text-align: start; gap: 2rem;
60+
padding-top: 5px;">
61+
<span id="mce-FNAME-error" class="error"></span>
62+
<span id="mce-LNAME-error" class="error"></span>
63+
</div>
5964
<div id="mce-responses" class="clear subscribe-inputbox">
6065
<div
6166
class="response"
@@ -94,3 +99,46 @@
9499

95100
<!--End mc_embed_signup-->
96101
</div>
102+
103+
<script>
104+
document.addEventListener("DOMContentLoaded", function () {
105+
106+
const form = document.getElementById('mc-embedded-subscribe-form');
107+
if (form) {
108+
form.addEventListener('submit', validateForm);
109+
}
110+
111+
function validateForm(event) {
112+
event.preventDefault(); // Prevent form submission
113+
114+
// Clear previous error messages
115+
document.getElementById('mce-FNAME-error').textContent = '';
116+
document.getElementById('mce-LNAME-error').textContent = '';
117+
118+
let isValid = true;
119+
120+
const firstName = document.getElementById('mce-FNAME').value.trim();
121+
if (!firstName) {
122+
document.getElementById('mce-FNAME-error').textContent = 'First name is required.';
123+
isValid = false;
124+
} else if (!/^[a-zA-Z]+$/.test(firstName)) {
125+
document.getElementById('mce-FNAME-error').textContent = 'First name must only contain letters.';
126+
isValid = false;
127+
}
128+
129+
const lastName = document.getElementById('mce-LNAME').value.trim();
130+
if (!lastName) {
131+
document.getElementById('mce-LNAME-error').textContent = 'Last name is required.';
132+
isValid = false;
133+
} else if (!/^[a-zA-Z]+$/.test(lastName)) {
134+
document.getElementById('mce-LNAME-error').textContent = 'Last name must only contain letters.';
135+
isValid = false;
136+
}
137+
138+
if (isValid) {
139+
form.submit();
140+
}
141+
}
142+
143+
});
144+
</script>

0 commit comments

Comments
 (0)