如何使用剑道验证器验证多封电子邮件?
Posted
技术标签:
【中文标题】如何使用剑道验证器验证多封电子邮件?【英文标题】:How to validate multiple email with kendo validator? 【发布时间】:2018-02-15 02:07:23 【问题描述】:我想通过输入 html 剑道来验证电子邮件地址。 这是我的html代码:
<label for="doc" class="required">E-mail</label>
<input type="email" multiple pattern="^([\w+-.%]+@[\w-.]+\.[A-Za-z]2,4,*[\W]*)+$" value="" data-bind="value: mail" id="doc" name="mail" required data-email-msg="Email format is not valid" />
我想用逗号分隔地址,但这不起作用!对剑道无效
【问题讨论】:
显然,这是行不通的!如果您想在单个输入框中验证多个电子邮件地址,则需要创建 kenod 自定义验证器规则。 【参考方案1】:DEMO 正在努力验证单个输入字段中的多封电子邮件,以分号分隔。
为此,我创建了一个自定义 Kendo 验证器规则。 DEMO 中的代码 sn-p 如下所示:
HTML:
<input type="text" class="k-textbox" name="Email" id="Email" required data-required-msg="Please enter atleast one email" data-multipleemails-msg="Some of the Entered Email ids are invalid"/>
JS:
function validateEmail(email)
var re = /^(([^<>()\[\]\\.,;:\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,))$/;
return re.test(email);
$(function ()
var container = $("#employeeForm");
kendo.init(container);
container.kendoValidator(
rules:
multipleemails: function (input)
if (input.is("[data-multipleemails-msg]") && input.val() != "")
var emailsArray = input.val().split(";");
for (var i=0; i < emailsArray.length; i++)
//alert(emailsArray[i]);
//return validateEmail(emailsArray[i].trim());
if ((emailsArray[i].trim() != "") && (validateEmail(emailsArray[i].trim()) == false))
return false;
return true;
);
);
$('#save').click(function()
//alert('save');
var validator = $("#employeeForm").data("kendoValidator");
if (validator.validate())
alert("Form is successfully validated");
);
【讨论】:
以上是关于如何使用剑道验证器验证多封电子邮件?的主要内容,如果未能解决你的问题,请参考以下文章
Go:连接到 SMTP 服务器并在一个连接中发送多封电子邮件?