我有一张邀请表,只接受GMail处理的电子邮件。我正在尝试插入异步验证,但不确定应该从服务器返回什么以及要使用哪些Javascript处理程序。
我的尝试(不太好):
$('#invite').validate({
submitHandler: function(form, e) {
$.ajax({
type: 'POST',
url: $(form).attr('action'),
data: {
email: $(form).find('#email').val()
},
success: function() {debugger;},
error: function() {alert('failed');}
});
return false;
},
invalidHandler: function(event, validator) {
debugger;
},
rules: {
email: {
required: true,
email: true,
remote: {
url: "/invite.php",
type: "post",
async: true,
data: submittedEmail
}
}
}
});
谢谢!
答案 0 :(得分:1)
问题解决了。
Javascript代码:
$('#invite').validate({
rules: {
email: {
required: true,
email: true,
remote: {
url: '/admin/isgmail/',
type: 'POST',
dataType: 'json',
data: {
email: function() {
return $('#email').val();
}
}
}
}
},
messages: {
email: "GMail email is required."
},
onkeyup: false
});
如果验证成功, invite.php
应返回字符串“true”,字符串“false”如果有错误或JSON编码的字符串描述错误:echo json_encode('This is not a Google account');
。