我正在为我的注册表单使用jquery验证,它可以正常运行,但是我遇到了问题。我检查电子邮件是否存在,如果确实存在,则收到错误消息。现在,我想对此进行编辑,因此,如果电子邮件可以免费使用。错误消息将更改为:此电子邮件可免费使用。
$(document).ready(function(){
$("#registratieform").validate({
rules: {
email: {
required: true,
email: true,
remote: {
url: "includes/check_email.php",
type: "post",
complete: function(data){
if( data.responseText == "false" ) {
alert("Free");
}
}
},
},
},
messages: {
email: {
required: "This field is required",
email: "Please enter a valid email address",
remote: jQuery.format("{0} is already taken")
},
},
});
});
警报有效,但是此消息必须出现在错误所在的标签中。这可能吗?
最佳答案
您可以使用success
选项。
如果指定,将显示错误标签以显示有效元素。如果给出了字符串,则将其作为类添加到标签。如果给出了Function,则使用标签(作为jQuery对象)和经过验证的输入(作为DOM元素)进行调用。该标签可用于添加“ok!”之类的文本。
doc中的示例:通过CSS样式将“valid”类添加到有效元素中,并添加文本“Ok!”。
$("#myform").validate({
success: function(label) {
label.addClass("valid").text("Ok!")
},
submitHandler: function() { alert("Submitted!") }
});
在您的代码中:
$(document).ready(function(){
$("#registratieform").validate({
rules: {
email: {
required: true,
email: true,
remote: {
url: "includes/check_email.php",
type: "post",
complete: function(data){
if( data.responseText == "false" ) {
alert("Free");
}
}
},
},
},
messages: {
email: {
required: "This field is required",
email: "Please enter a valid email address",
remote: jQuery.format("{0} is already taken")
},
},
success: function(e) {
// Remove error message
// Add success message
},
});
});
我建议阅读:.validate()
关于jquery - jQuery Validation Form远程规则,成功消息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11342716/