4

我想使用输入 html kendo 验证电子邮件地址。这是我的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" />

我希望地址用逗号分隔,但这不起作用!不适用于剑道

在此处输入图像描述

4

1 回答 1

3

这是一个工作演示,用于在以分号分隔的单个输入字段中验证多封电子邮件。

为此,我创建了一个自定义 Kendo 验证器规则。DEMO 中的代码片段如下所示:

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");
                    }

                });
于 2017-09-29T07:04:40.107 回答