在功能上设置jQuery验证标签



早上,例如,当功能onkeyup返回false时,我想打电话给标签。我设置了jQuery验证器,并设置了一个规则clled

e-mail: {
email:true,
required:true
}

但是我还有另一个函数可以验证电子邮件并返回false如果不正确,如果相反。

function emailvalidate(email_string){
[regex test emailstring] 
return true or false //(and show label of jqueryvalidator)
}

现在,当我编写无效的电子邮件jQuery验证器时,请显示一个标签,说 email wrong ,但是我还需要在键或焦点上其他字段上,它将使用我的函数emailvalidate()测试电子邮件表单值,如果它返回错误,它将显示jQuery验证器插件的消息。STH喜欢

$("#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-zd!#$%&'*+-/=?^_`{|}~u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF]+(.[a-zd!#$%&'*+-/=?^_`{|}~u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF]+)*|"((([ t]*rn)?[ t]+)?([x01-x08x0bx0cx0e-x1fx7fx21x23-x5bx5d-x7eu00A0-uD7FFuF900-uFDCFuFDF0-uFFEF]|\[x01-x09x0bx0cx0d-x7fu00A0-uD7FFuF900-uFDCFuFDF0-uFFEF]))*(([ t]*rn)?[ t]+)?")@(([a-zdu00A0-uD7FFuF900-uFDCFuFDF0-uFFEF]|[a-zdu00A0-uD7FFuF900-uFDCFuFDF0-uFFEF][a-zd-._~u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF]*[a-zdu00A0-uD7FFuF900-uFDCFuFDF0-uFFEF]).)+([a-zu00A0-uD7FFuF900-uFDCFuFDF0-uFFEF]|[a-zu00A0-uD7FFuF900-uFDCFuFDF0-uFFEF][a-zd-._~u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF]*[a-zu00A0-uD7FFuF900-uFDCFuFDF0-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
                    }

最新更新