Javascript jQuery表单验证--正确提交而不是清除错误

Javascript jQuery表单验证--正确提交而不是清除错误,javascript,jquery,forms,validation,Javascript,Jquery,Forms,Validation,在jQuery中进行表单验证。我的所有验证似乎都正常工作 如果提交的表单中没有数据,则会显示所有正确的错误 如果修复其中一个字段,则该字段的错误消息不会清除 我认为这可能是我的逻辑有问题,但不确定是否有一种简单的方法可以尝试再次检查验证 我在jQuery中提交的代码在这里。前四个验证函数是检查错误和显示错误(如果有)。如果有任何错误,将阻止表单提交。如果没有错误,将显示警报并允许提交。我知道问题在于,在第一个if语句发现错误之后,无法查看错误是否已修复并清除该错误。所以,我很困惑,到底该怎么做

在jQuery中进行表单验证。我的所有验证似乎都正常工作

如果提交的表单中没有数据,则会显示所有正确的错误

如果修复其中一个字段,则该字段的错误消息不会清除

我认为这可能是我的逻辑有问题,但不确定是否有一种简单的方法可以尝试再次检查验证

我在jQuery中提交的代码在这里。前四个验证函数是检查错误和显示错误(如果有)。如果有任何错误,将阻止表单提交。如果没有错误,将显示警报并允许提交。我知道问题在于,在第一个if语句发现错误之后,无法查看错误是否已修复并清除该错误。所以,我很困惑,到底该怎么做——也许在一个循环中会更好吗

// On Form Submission Validate Form
$("#contact_submit button").click(function(event){
    error_name = validateName();
    error_email = validateEmail();
    error_activity = validateActivities();
    isCreditIssue = validateCredit();
    event.preventDefault();

    var valid = true;

    if ((error_name) || (error_email) || (error_activity) || (isCreditIssue)){
        console.log("errors");
        valid = false;
    } else {
        alert('GREAT! form completed');
        valid = true;
    }
    if (valid) {
    return;
    }

当表单值在许多地方变为有效时,您遗漏了
hide
语句。仅举一个例子(在
validateZip
中):

您应该将其替换为以下内容:

if ((!errorZip)||(zip!= 5)){
    $(".error_zip").show();
    errorZip = true;
    console.log('zip issue');
} else {
    $(".error_zip").hide();
    errorZip = false;
}
if ((!errorZip)||(zip!= 5)){
    $(".error_zip").show();
    errorZip = true;
    console.log('zip issue');
} else {
    $(".error_zip").hide();
    errorZip = false;
}