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

时间:2017-09-15 16:33:54

标签: javascript jquery forms validation

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

See JSFiddle here.

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

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

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

我在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;
    }

1 个答案:

答案 0 :(得分:2)

当表单值在许多地方生效时,您遗漏了using Word = Microsoft.Office.Interop.Word; Word.View v = Globals.ThisAddIn.Application.ActiveWindow.View; v.RevisionsView = Word.WdRevisionsView.wdRevisionsViewFinal; v.ShowRevisionsAndComments = true; v.ShowComments = true; v.ShowFormatChanges = true; v.ShowInkAnnotations = true; v.ShowInsertionsAndDeletions = true; 语句。只是一个例子(在hide内):

validateZip

您应替换

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