首页 > 解决方案 > 带有“;”的jQuery验证多个电子邮件 分隔器。?

问题描述

我想为一个输入写我的邮件地址。

但是当我写“;”时,我的输入引发了“无效的电子邮件”错误 分隔器。谁能帮我这个?

我的代码

                    <div class="col-md-10">
                        <input class="form-control" name="toMail" id="toMail" type="email" />
                    </div>

rules: {
        toMail: { required: true, multiemails: true },
    },
    messages: {
        toMail: {
            required: "Bu alan zorunludur. *",
            multiemails: "Uygun bir email girin !"
        },
    },


jQuery.validator.addMethod(
    "multiemails",
    function (value, element) {
        if (this.optional(element)) // return true on optional element
            return true;
        var emails = value.split(/[;,]+/); // split element by , and ;
        valid = true;
        for (var i in emails) {
            value = emails[i];
            valid = valid &&
                jQuery.validator.methods.email.call(this, $.trim(value), element);
        }
        return valid;
    },

    jQuery.validator.messages.multiemails

标签: jqueryvalidation

解决方案


因为您尚未为多封电子邮件设置输入。您需要设置multiple属性,请查看此处

当且仅当指定了 multiple 属性时,该值可以是格式正确的以逗号分隔的电子邮件地址的列表。从列表中的每个地址中删除任何尾随和前导空格。

例子:

<input id="emailAddress" type="email" multiple>

推荐阅读