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

Javascript 表单验证在第一次迭代时停止,javascript,validation,Javascript,Validation,我正在尝试编写用于表单验证的js代码。我首先要检查字段是否为空: var validationInfo = {"displayname" : {}, "password" : {}, "email" : {}, "username" : {}}; document.newUser.onsubmit = function () { for(key in validationInfo) { var field = document.getElementById(key);

我正在尝试编写用于表单验证的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;
}
当我只提交表单的第一个字段时,它会变成黄色,所以我认为验证在第一次迭代后停止。“返回错误”是否定位错误

第二个问题,如果我想检查其他内容,比如字段是否为空,我应该在同一个函数还是另一个函数中进行检查?最好的做法是什么


谢谢

如果出现任何验证错误,请使用变量
\u 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;
}

删除
返回false返回导致它停止迭代,imo@kristjanreinhold:这是事实,不是意见;-)@KrishR如果我删除了它,那它为什么要用空字段提交呢?为什么
\u valid
,而不是不使用随机下划线的东西,并且更具描述性,比如:
formIsValid
?这里只是吹毛求疵;-)