我正在使用jquery验证,我需要验证一封电子邮件.
我用
$("#myForm").validate({ rules: email: { required: true,email: true } })
到现在为止还挺好.问题是我需要进行ajax调用来验证给定的电子邮件是否已经存在.如果存在显示消息“此电子邮件已经退出,请选择其他”.
任何人都可以帮助我实现这一点.
解决方法
remote: "/some/remote/path"
该路径将在$_GET中传递该字段的值.
所以在你的情况下,什么实际被称为是:
/some/remote/path?email=someemailuriencoded
服务器端代码只返回文本true或false.
然后相应的消息也命名为remote.
remote: "The corresponding email already exists"
我的代码类似的东西:
$("#password_reset").validate({ rules: { email: { required: true,email: true,minlength: 6,remote: "/ajax/password/check_email" } },messages: { email: { required: "Please enter a valid email address",minlength: "Please enter a valid email address",email: "Please enter a valid email address",remote: "This email is not registered" } },onkeyup: false,onblur: true });
$email_exists = $db->prows('SELECT user_id FROM users WHERE email = ? LIMIT 1','s',$_GET['email'] ); if ( $email_exists ) { echo 'true'; } else { echo 'false'; } exit;
当然,这是使用我的数据库抽象的东西,但你得到它.