我已经在jquery中编写了一个程序,用于使用ajax进行电子邮件和电话号码验证,我面临的问题是,无论我输入的电子邮件ID是什么,显示"电子邮件ID已经注册"即使我输错了。这些值来自mysql数据库,我正在使用jsp来检查我的电子邮件ID是否存在,如果它存在,它会给我" 1"如果不存在,它会给我" 0"。
$(document).ready(function() {
$("#user_form").validate({
rules : {
phone :{
required:"true",
minlength:"10"
},
email : {
required : "true",
email : "true",
}
},
messages:{
email:
{
required: "Please enter your email address",
},
phone:"Please enter a 10 digit mobile number",
},
});
$.urlParam = function(name){
var results = new RegExp('[\?&]' + name + '=
([^&#]*)').exec(window.location.href);
if (results==null){
return null;
}
else{
return results[1] || 0;
}
}
$.validator.addMethod("validateUserEmail", function(value, element)
{
var inputElem = $('#user_form :input[name="email"]'),
data = { "emails" : inputElem.val() },
eReport = ''; //error report
var param_value = (decodeURIComponent($.urlParam('email')));
console.log("Param Value:"+param_value);
$.ajax(
{
type: 'GET',
url:
'http://localhost:8082/JqueryForm/validate_emailid_succes.jsp',
data: { email_id: param_value },
dataType: 'text',
success: function(data)
{
console.log("This Data:"+data);
if (data == 0)
{
return true;
}
else
{
var message = "This email address is
already registered";
console.log("Message:"+message);
return message;
}
},
error: function(xhr, textStatus, errorThrown)
{
alert('ajax loading error... ... '+url + query);
return false;
}
});
}, 'This email address is already registered');
$(':input[name="email"]').rules("add", { "validateUserEmail" : true} );
});
JDBC代码:
public int getEmailID(String email) {
int email_result_count = 0;
try {
prep = (PreparedStatement) connection
.prepareStatement("Select count(email_id) from user_info
where email_id='"+email+"'");
rSet = prep.executeQuery();
while (rSet.next()) {
email_result_count = rSet.getInt(1);
}
System.out.println("**email_result_count:"+email_result_count);
} catch (Exception e) {
e.printStackTrace();
}
return email_result_count;
}
我的Jsp:
<%
//JSONObject obj = new JSONObject();
request.setCharacterEncoding("utf8");
response.setContentType("application/text");
Sql_Server server = new Sql_Server();
String email_id = request.getParameter("email_id");
int email_result = server.getEmailID(email_id);
out.println(email_result);
%GT;
请提供一些帮助以了解我哪里出错了。 谢谢