Jquery验证唯一电子邮件地址的更新

时间:2012-11-02 07:59:22

标签: php javascript jquery-validate

我希望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)时出现的问题无法将其保存到数据库中,

除了我在文本框电子邮件中丢失了fcs然后它可以成功保存

编码

<?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!")
}
}

});

2 个答案:

答案 0 :(得分:0)

我认为没有一种有效的方式来满足您的要求。您可能无法验证前面唯一的电子邮件,但您可以创建新的ajax以验证服务器中唯一的电子邮件。和jquery验证只是为了前面。

答案 1 :(得分:0)

尝试仅在模糊或焦点上启动jQuery验证。