jQueryvalidation插件多个电子邮件地址
我有以下jQuery Validation插件:
$(document).ready(function() { $("#form").validate({ rules: { name: { required: true, minlength: 2 }, email: { required: true, email: true }, emails: { required: true, email: true } }, messages: { name: { required: "Je bent vergeten om je naam in te vullen.", minlength: "Je bent vergeten om je naam in te vullen." }, email: { required: "Je bent vergeten om je emailadres in te vullen.", email: "Het opgegeven emailadres is niet geldig." }, emails: { required: "Je bent vergeten om het emailadres van je vriend(in) in te vullen.", email: "Je moet een geldig e-mailadres van je vriend(in) invullen." } } }); });
通过价值电子邮件,人们必须提供多个电子邮件,如test@test.com; test2@test.com或test @ test.com,test @ test2.com
当你这样做时,validation插件会给出错误:Je moet een geldig e-mailadres van je vriend(in)invullen。
我怎么解决这个问题?
这是在addMethod的帮助下添加的自定义function:
jQuery.validator.addMethod( "multiemail", 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.email );
这是一个jsFiddle,向您展示如何使用multiemail自定义方法:
自定义function,里面有消息