Skip to content

Commit abdd75f

Browse files
authored
Merge pull request #13 from deco-sites/danielfurt/activation-form
feat: make email required in activation form
2 parents 47d75ce + 759bd6a commit abdd75f

1 file changed

Lines changed: 24 additions & 3 deletions

File tree

sections/ActivationForm.tsx

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ export default function ActivationForm({
247247
</div>
248248
<div>
249249
<label for="act-email" class="block text-sm font-medium text-gray-700 mb-2 font-sans">{emailField.label}</label>
250-
<input type="email" id="act-email" name="email" class="w-full px-4 py-3 border-0 rounded-xl focus:bg-transparent focus:border focus:border-gray-400 focus:outline-none font-sans" style="background-color: #F5F5F5; color: #1F2937;" placeholder={emailField.placeholder} />
250+
<input type="email" id="act-email" name="email" required class="w-full px-4 py-3 border-0 rounded-xl focus:bg-transparent focus:border focus:border-gray-400 focus:outline-none font-sans" style="background-color: #F5F5F5; color: #1F2937;" placeholder={emailField.placeholder} />
251251
</div>
252252
</div>
253253
</div>
@@ -363,7 +363,7 @@ export default function ActivationForm({
363363
</div>
364364
<div>
365365
<label for="act-email-m" class="block text-sm font-medium text-gray-700 mb-2 font-sans">{emailField.label}</label>
366-
<input type="email" id="act-email-m" name="email" class="w-full px-4 py-3 border-0 rounded-xl focus:bg-transparent focus:border focus:border-gray-400 focus:outline-none font-sans" style="background-color: #F5F5F5; color: #1F2937;" placeholder={emailField.placeholder} />
366+
<input type="email" id="act-email-m" name="email" required class="w-full px-4 py-3 border-0 rounded-xl focus:bg-transparent focus:border focus:border-gray-400 focus:outline-none font-sans" style="background-color: #F5F5F5; color: #1F2937;" placeholder={emailField.placeholder} />
367367
</div>
368368
</div>
369369
</div>
@@ -585,6 +585,19 @@ export default function ActivationForm({
585585
if (btn) {
586586
btn.addEventListener('click', function() {
587587
hideMsg();
588+
if (step === 2) {
589+
var emailInput = document.getElementById('act-email' + s);
590+
var emailVal = emailInput ? emailInput.value.trim() : '';
591+
if (!emailVal) {
592+
showMsg('Por favor, preencha o e-mail.', false);
593+
return;
594+
}
595+
var emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;
596+
if (!emailRegex.test(emailVal)) {
597+
showMsg('Por favor, insira um e-mail válido.', false);
598+
return;
599+
}
600+
}
588601
goToStep(step + 1);
589602
});
590603
}
@@ -658,9 +671,17 @@ export default function ActivationForm({
658671
currentBtn.disabled = true;
659672
currentBtn.textContent = 'ENVIANDO...';
660673
674+
var emailVal = document.getElementById('act-email' + s).value.trim();
675+
if (!emailVal || !/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(emailVal)) {
676+
showMsg('Por favor, insira um e-mail válido.', false);
677+
currentBtn.disabled = false;
678+
currentBtn.textContent = 'ENVIAR';
679+
return;
680+
}
681+
661682
var data = {
662683
nome: document.getElementById('act-nome' + s).value.trim(),
663-
email: document.getElementById('act-email' + s).value.trim().toLowerCase(),
684+
email: emailVal.toLowerCase(),
664685
produtos: document.getElementById('act-produtos' + s).value.trim(),
665686
marcas: document.getElementById('act-marcas' + s).value.trim()
666687
};

0 commit comments

Comments
 (0)