Javascript 在函数上设置jquery验证标签
早上好,我想在函数onkeyup返回false时调用label,例如。 我设置了jquery验证器,并设置了一个规则CLEDJavascript 在函数上设置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
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的标签错误。