remote: "/some/remote/path"
そのパスには、$_GET でフィールドの値が渡されます。だから..あなたの場合に実際に呼び出されるのは次のようになります:
/some/remote/path?email=someemailuriencoded
サーバー側のコードが true または false のテキストだけを返すようにします。
次に、対応するメッセージにもリモートという名前が付けられます。
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
});
php の対応するサーバー側コード:
$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;
もちろん、それは私のデータベースの抽象化を使用していますが、わかります。