表单验证在第一次迭代时停止

时间:2014-03-04 08:25:14

标签: javascript validation

我正在尝试编写用于表单验证的js代码。我想出了这个代码,我首先要检查字段是否为空:

var validationInfo = {"displayname" : {}, "password" : {}, "email" : {}, "username" : {}};

document.newUser.onsubmit = function () {
    for(key in validationInfo) {
        var field = document.getElementById(key);
        if(field.value == "") {
            field.setAttribute("style","background-color: yellow;");
            field.select();
            return false;
        }//checking empty fields
    }//check validation
    return true;
}

当我只提交表格的第一个字段变成黄色时,我认为验证在第一次迭代后停止。 “返回假”定位错了吗?

第二个问题,如果我想检查其他内容,如果字段为空,我应该在相同或其他功能中执行吗?什么是最佳做法?

由于

1 个答案:

答案 0 :(得分:2)

使用变量_valid并在发生任何验证错误时将其指定为false。返回此变量。

var validationInfo = {"displayname" : {}, "password" : {}, "email" : {}, "username" : {}};

document.newUser.onsubmit = function () {
    var _valid = true;
    for(key in validationInfo) {
        var field = document.getElementById(key);
        if(field.value == "") {
            field.setAttribute("style","background-color: yellow;");
            field.select();
            _valid = false;
        }//checking empty fields
    }//check validation
    return _valid;
}