Javascript 在函数上设置jquery验证标签

Javascript 在函数上设置jquery验证标签,javascript,jquery,validation,Javascript,Jquery,Validation,早上好,我想在函数onkeyup返回false时调用label,例如。 我设置了jquery验证器,并设置了一个规则CLED e-mail: { email:true, required:true } 但我有另一个功能,验证电子邮件,如果不正确则返回false,反之则返回true function emailvalidate(email_string){ [regex test emailstring] return true or false //(and show label of jq

早上好,我想在函数onkeyup返回false时调用label,例如。 我设置了jquery验证器,并设置了一个规则CLED

e-mail: {
email:true,
required:true
}
但我有另一个功能,验证电子邮件,如果不正确则返回false,反之则返回true

function emailvalidate(email_string){
[regex test emailstring] 
return true or false //(and show label of jqueryvalidator)
}
现在,当我写一封无效的电子邮件时,Jquery验证程序会显示一个标签,上面写着
email error
,但我还需要在keyup或focus other字段上,它会用我的函数
emailvalidate()
测试电子邮件表单值,如果返回false,它会显示Jquery验证程序插件的消息。 类似

$("#email-field").on("keyup",emailvalidate($("#email-field").val()))

我对你的插件一无所知如果你愿意,你可以用这个js验证代码来验证

function ValidateEmail(mail) 
{
 if(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(mail))
  {
    return (true)
  }
    return (false)
}
$(document).ready(function() {
$("#email-field").on("keyup",function(e){
    var mail = $("#email-field").val();
    var result = ValidateEmail(mail);
    if(result == true){
        //do something here
    }else{
        //do something here
    }
    return result;
    e.preventDefault();
});

});

这是我的问题的解决方案,只是在我现有的验证器中添加了一个新方法,带有函数

 jQuery.validator.addMethod("correoval", function(emailAddress) {
                    var pattern = /^([a-z\d!#$%&'*+\-\/=?^_`{|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+(\.[a-z\d!#$%&'*+\-\/=?^_`{|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+)*|"((([ \t]*\r\n)?[ \t]+)?([\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|\\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*(([ \t]*\r\n)?[ \t]+)?")@(([a-z\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|[a-z\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF][a-z\d\-._~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]*[a-z\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])\.)+([a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|[a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF][a-z\d\-._~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]*[a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])\.?$/i;
                    return pattern.test(emailAddress);
                }, "Ingrese una dirección de correo válida");
然后是jQueryValidator的规则

$("#MyForm").validate({
                rules: {
                    corrA: {
                        email: true,
                        required: true,
                        correoval:true //this was the method that I added
                    }
我使用的是[JqueryValidation]()插件,很简单,当我的函数检测到错误的电子邮件时,我想显示jquery的标签错误。