首页 > 解决方案 > 使用 NETLIFY 表单时的电子邮件验证

问题描述

我在 netlify 上托管了一个站点,并使用 netlify 的集成表单处理来处理一个简单的联系表单。

一切都很好,我能够接收表单提交,并且默认错误处理在大多数情况下都按预期工作。除非用户输入错误的电子邮件,例如没有@ 或.com 或扩展名,即@hotmail.com。提交仍然通过,最终结果是收到一封带有无效返回地址的电子邮件。

我知道如何在 javascript 中检查项目正在使用的有效电子邮件,但我不确定在使用 netlify 的集成表单时是否可以进行任何类型的“自定义”表单验证?

有谁知道这是否可能?我似乎无法在网上找到很多关于此的内容。

这是我必须尝试进行自定义电子邮件验证的 javascript

    // Email check
        let email = document.getElementById('email');
    
    function checkInputs() {
        let emailValue = email.value.toLowerCase().trim();
    
        //Check Email
        if(emailValue === '') {
            setErrorFor(email, "Email can't be empty");
        }else if (!isEmail(emailValue)) {
            setErrorFor(email, 'Not a valid email');
        }
        else {
            setSuccessFor(email);
        };
    };
    checkInputs();
    
//Test if email is invalid
     function isEmail(email) { return /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(email);
     };

标签: javascriptformsnetlify

解决方案


推荐阅读