更新:电子邮件地址的电子邮件地址检查在输入地址时返回“电子邮件地址已被使用”,无论电子邮件地址是新的还是存在于mySQL数据库中。我希望它只在数据库中users表的email字段中存在电子邮件时才返回错误。
注册页面的当前代码是:
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="http://cdn.jsdelivr.net/jquery.validation/1.15.0/jquery.validate.js"></script>
<script src="http://cdn.jsdelivr.net/jquery.validation/1.15.0/jquery.validate.min.js"></script>
<script src="http://cdn.jsdelivr.net/jquery.validation/1.15.0/additional-methods.js"></script>
<script src="http://cdn.jsdelivr.net/jquery.validation/1.15.0/additional-methods.min.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script type="text/javascript">
$().ready(function(){
$("#register").validate({
errorElement: 'span',
errorPlacement: function (error, element) {
if (element.attr("type") == "checkbox") {
error.insertAfter($(".term"));
} else {
error.insertAfter(element);
}
},
rules: {
su_email : {
required: true,
email: true,
remote: "/email_check.php"
},
su_password : {
minlength: 6,
required: true
},
su_conpassword : {
equalTo : "#su_password"
},
su_name : {
minlength: 3,
required: true
},
su_phone : {
required: true
},
su_city : {
required: true
},
su_country : {
required: true
},
su_gender : {
required: true
},
su_quest : {
required: true
},
su_ans : {
required: true
},
su_terms : {
required: true
}
},
messages: {
su_email: {
required: "Please enter your email address",
email: "Please enter a valid email address",
remote: jQuery.validator.format("{0} is already in use")
},
su_password: {
required: "Provide a password",
minlength: jQuery.validator.format("Enter at least {0} characters")
},
su_conpassword: {
equalTo: "Repeat your password"
},
su_name: {
required: "Enter your full name",
minlength: jQuery.validator.format("Enter at least {0} characters")
},
su_phone: {
required: "Enter your phone number"
},
su_city: {
required: "Enter your city"
},
su_country: {
required: "Select your country"
},
su_gender: {
required: "Select your gender"
},
su_quest: {
required: "Select a security question"
},
su_ans: {
required: "Select a security answer"
},
su_terms: {
required: "You must agree to terms to join"
}
}
});
$('.condition').click(function () {
if ($(this).is(':checked')) {
$('#termscondition').dialog({
modal: true,
width: 600,
buttons: {
Ok: function() {
$( this ).dialog('close');
}
}
});
} else {
$('#termscondition').dialog('close');
}
});
});
</script>
<?php
include('includes/inc-public.php');
include('includes/classes/class.user.php');
$user = new User();
$email = $_GET['su_email'];
$valid = false;
header('Content-Type: application/json');
if(!is_null($email)){
$is_valid = $user->get_email($email);
if($is_valid){
echo json_encode($is_valid);
}
else{
echo json_encode($valid);
}
};
?>
signup form when a new email address is being entered in the email field users table of mysql database
答案 0 :(得分:0)
服务器端响应必须是JSON字符串,必须是&#34; true&#34;对于有效元素,可以使用默认错误消息对无效元素使用&#34; false&#34;,undefined或null。如果服务器端响应是字符串,例如。 &#34;该名称已被采用,请尝试使用peter123&#34;,此字符串将显示为自定义错误消息,而不是默认值。
因此您需要将is_valid更改为true。