我使用jQuery Validator
来处理简单表单。一切都按预期工作,但我想稍微修改一下验证过程。我已经集成了一个小的Ajax
请求来测试输入的电子邮件是否已存在于数据库中。如果电子邮件已存在,则回复为1
,否则为0
。我注意到,如果电子邮件无效,则会在label
字段下创建input
标记:
<label id="email-error" class="error" for="email">This field is required.</label>
是否可以覆盖此生成的标签(在jQuery Validator
验证提供的电子邮件有效之后),以指示此电子邮件是否存在于数据库中?
假设,对于1
,生成的label
将如下所示:
<label id="email-error" class="error" for="email">This Email is already in use.</label>
这是验证器的当前配置:
var $validator=$("#form-register").validate({
rules:{
email:{
required: true
}
}
});
这是HTML表单:
<form id="form-register" class="p-t-15" role="form">
<div class="form-group form-group-default" id="email_div">
<label>What's your email address?</label>
<div>
<input type="email" class="form-control" name="email" id="email" placeholder="Email">
</div>
</div>
</form>
答案 0 :(得分:1)
您可以在此处使用remote
选项:
$( "#form-register" ).validate({
rules: {
email: {
required: true,
email: true,
remote: "check-email.php"
}
}
});
制作所需的电子邮件字段,电子邮件并执行远程请求以检查是否已获取给定的地址。另外,http方法设置为&#34; post&#34;并且用户名将与电子邮件地址一起发送。
$( "#form-register" ).validate({
rules: {
email: {
required: true,
email: true,
remote: {
url: "check-email.php",
type: "post",
data: {
email: function() {
return $( "#email" ).val();
}
}
}
}
}
});