Jquery 验证中最多允许 10 封电子邮件,每个逗号分隔
Allow maximum of 10 Emails in Jquery Validation with each comma separated
如何仅允许和验证 10 封电子邮件或最少 10 封电子邮件(每个逗号分隔)。它应该只允许 10 封电子邮件或最少并且每封电子邮件都是逗号 separated.Now 我只能验证每封以逗号分隔的电子邮件
<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;
或者您可以添加另一个关于电子邮件地址数量的验证规则,并带有单独的错误消息。
如何仅允许和验证 10 封电子邮件或最少 10 封电子邮件(每个逗号分隔)。它应该只允许 10 封电子邮件或最少并且每封电子邮件都是逗号 separated.Now 我只能验证每封以逗号分隔的电子邮件
<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;
或者您可以添加另一个关于电子邮件地址数量的验证规则,并带有单独的错误消息。