带有字段验证的AJAX进程



整个AJAX代码:

function checkEmail() {
// var myForm = $("#mainForm").serialize();
var fname = $("#first").val();
var lname = $("#second").val();
var email = $("#email").val();
var password = $("#password").val();
var repass = $("#en").val();
if(fname && lname && email && password && repass) {
jQuery.ajax({
url: "connection.php",
data: {
fname:fname,
lname:lname,
email:email,
password:password,
repass:repass
},
type: "POST",
success:function(data){
$("#emailExists").show();
$("#email").css("border","2px solid green");
$("#no").css("visibility","hidden");
$("#yes").css("visibility","visible");
if(data){
$("#email").css("border", "2px solid red");
$("#no").css("visibility","visible");
$("#yes").css("visibility","hidden");
}else
{
$("#email").css("border", "2px solid green");
$("#no").css("visibility","hidden");
$("#yes").css("visibility","visible");
window.location.href = 'home.php';
}
$("#emailExists").html(data);
},
error:function (){
}
});
}
}

这是一个注册表单验证,和一个使用PHP和AJAX的电子邮件系统。我对AJAX有一个问题。因此,在点击注册按钮时,AJAX应该只运行(检查是否已经使用PHP数据存在电子邮件并显示错误消息),如果每个字段都已填写,如果密码长度大于或等于6,如果密码等于repass(重新输入密码)。

所以,最初,在成功函数中,我写:

if(fname && lname && email && password && repass) {

和它下面的所有代码。但它也应该只调用成功函数,如果密码值大于或等于6,并且如果密码等于repass。如果只有每个字段都填满并且password>= 6和password == repass,它应该将用户带到主页(home.php),否则它应该停留在那里,显示错误信息,然后用户将更改为正确的详细信息并将重定向到主页。(我已经有一个window.location.href = 'home.php'在else语句,所以这是照顾)。

所以我试着写这段代码:

if(fname && lname && email && password && repass && password.val() >= 6 && password == repass) {

但是它不起作用。我该怎么办?请给出一个解决方案。非常感谢!

就像这里说的,使用这个:

password.length >= 6

:

var password = $("#password").val();
if (fname && lname && email && password && repass && password.length >= 6 && password == repass) {

但是表单验证不仅仅是检查它是否填充或密码长度。你可以使用RegEx来验证一些对象。

最新更新