javascript - Jquery 验证中最多允许 10 封电子邮件,每个电子邮件以逗号分隔

标签 javascript php jquery validation jquery-validate

如何仅允许和验证 10 封电子邮件或最少以逗号分隔的电子邮件。它应该只允许 10 封电子邮件或最少,并且每封电子邮件都以逗号分隔。现在我只能验证每封以逗号分隔的电子邮件

    <form method="post" action="" id="add_engagement" name="add_engagement" class="form-horizontal">
<tr><td>Email Recipients</td>
    <td><textarea name="email_recipients"  id="email_recipients" >{$Notification.email_recipients}</textarea><br/><span style="color:red">*</span>Note: Separated by commas(,)</td>
</tr>
 <input type="submit" class="post_button" id="edit_notification" value="Update" name="edit_notification" /></td></tr>
</form>


<script>    
$(function(){
$('#edit_notification').one('click', function () {
jQuery.validator.setDefaults({
      debug: true,
      success: "valid"
    });
$.validator.addMethod('multiEmails', function(value, element) {
    if (this.optional(element)) {
        return true;
    } else {
        var valid = true;

        $.each($.trim(value).replace(/,$/, '').split(','), $.proxy(function (index, email) {
            if (!$.validator.methods.email.call(this, $.trim(email), element)) {
                valid = false;
            }
        }, this));

        return valid; 
        }
    }, 'One or more email addresses are invalid');

$("#add_engagement").validate({

    rules: {

        email_recipients: {
                required: true,
                multiEmails:true,

            },  
        },
        messages: {

        email_recipients: {
        required: "Please enter email",

        },
    },
    submitHandler: function(form) {
            form.submit();
    },
});<script>

最佳答案

您可以添加计数器:

var ec = 0;
$.each($.trim(value).replace(/,$/, '').split(','), $.proxy(function (index, email) {
    ec++;
    if (!$.validator.methods.email.call(this, $.trim(email), element)) {
        valid = false;
    }
}, this));
if (ec<1 || ec>10) valid = false;

或者您可以添加另一个关于电子邮件地址数量的验证规则,并带有单独的错误消息。

关于javascript - Jquery 验证中最多允许 10 封电子邮件,每个电子邮件以逗号分隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31488856/

相关文章:

javascript - 主 promise 链不等待 Parse.Query

php - ColdFusion binaryDecode 与 php pack(H*)

php - mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows 等...期望参数 1 是资源

javascript - 显示隐藏内容

javascript - jQuery 类型错误 : $ is undefined

javascript - 如何根据变量复制函数?

javascript - 如何在 wordpress 中将 super 鱼菜单居中(在 IE7 中)

jquery - 表单导致链接无法正常工作?

javascript - 从维基百科 API 获取 SVG 文件

php - 如何: persistent PHP session across subdomains