javascript - 使用 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);
};
解决方案
推荐阅读
- javascript - 为什么我的 brain.js LSTM 脚本没有从 script 标签中指定的 URL 加载?
- sql - ms-access SQL 链接工作表行顺序保留
- java - 如何通过 Selenium WebDriver (Java API) 在 web 视图中查找 web 元素?
- type-conversion - 将表示列表的字符串转换为 Jython 中的实际列表?
- c++ - 循环展开和 SSE——clang 与 gcc
- javascript - 如果数据库有变化,刷新页面
- node.js - JS加载后获取页面的HTML内容
- c++ - Emacs - ccls:命名空间“std”中没有名为“filesystem”的成员
- julia - 如何在 Julia 中初始化摘要?
- html - Heroku:在应用程序启动时显示自定义页面