0

データベース内の一意の電子メール アドレスの jquery 検証更新を希望します。

テキスト ボックス メールのデフォルトの読み込み値の例は、abc@test.com です。

データベースにはabc@test.com、fff@test.com、ddd@test.comがあります

ユーザーがabc@test.comと入力すると、trueが返されます(データを保存できます)

タイプ fff@test.com または ddd@test.com を使用する場合は、false を返します (既に存在します)。

ユーザーがテキストボックスにデフォルトデータ(abc@test.com)をロードしたときの私の問題は、データベースに保存できません。

テキストボックスの電子メールでフォーカスを失ったことを除いて、正常に保存できます

コーディング

<?php
//MySQL class: http://mbe.ro/2009/08/30/fast-and-easy-php-mysql-class/
require('../shared/db-class.php');
$email = $_REQUEST["email_address"];
//$email = 'test@gmail.com'; // Just for testing.
$validate = new mysql();
$checkemail = $validate->query("SELECT * FROM users WHERE email_address = '$email'");
if (count($checkemail) == 1){
$valid = "false";
} else {
$valid = "true";
}
echo $valid;
?>

// jQuery
// FORM VALIDATION
$('#form').validate({
rules:{
first_name: "required",
last_name: "required",
email_address: {
required: true,
email: true,
remote: "email-check.php"
}
},messages:{
email_address: {
remote: jQuery.format("{0} is already in use!")
}
}

});
4

2 に答える 2

0

ぼかしまたはフォーカスアウトのみで jQuery 検証を開始してみてください。

于 2012-11-02T08:40:03.017 に答える
0

あなたの要件を満たす有効な方法はないと思います。前に一意の電子メールを検証しない場合がありますが、サーバーで一意の電子メールを検証するための新しい ajax を作成できます。そしてjquery validateはフロント用です。

于 2012-11-02T08:14:51.467 に答える