相同的类验证,如果其中一个类有效,则发布表单

时间:2015-11-30 13:29:42

标签: javascript

// check validation function
function ListValidationFunction(event){
        //array validation function
        var Listvalidators = [peoplenameValidation];
        // bypass all function
        var Listvalid = Listvalidators.reduce(function(Listvalid, Listvalidator){
        return Listvalidator() && Listvalid;
         alert("true"); 
        }, true);

    return Listvalid;
}


// peoplename validation
function peoplenameValidation(){
var validationID = [];
var inputs = $('.people-name-input');

push all id to array
for(var i = 0; i < inputs.length; i++){
validationID.push(inputs[i].id);
}

if(validationID != ""){
for(var v = 0; v < validationID.length; v++){
var IDvalue = $('#'+validationID[v]);
var IDdata = IDvalue.val();
if(IDdata.length != ""){
    IDvalue.css('border-color', '#dfe0e6');
**//problem here , if one of the same class are != "" it return true, i need all the same class != "" then return true.**
    return true;
}else{
    IDvalue.css('border-color', 'red');
    // IDvalue.focus();
}
}
}
return false;
}

我有多个相同的类输入'.people-name-input'进行验证,我检查所有输入长度然后将所有id输入到数组然后检查它。

listValidationFunction用于检查peoplenameValidation是否返回true以及是否返回true ,张贴表格。

在peoplenameValidation返回true,如果其中一个类返回true,表单将提交,如何检查所有相同的calss是否为空,则返回true。

1 个答案:

答案 0 :(得分:0)

将在循环的每次迭代中检查IDdata.length != ""return将打破循环(和函数)。因此,如果您需要检查每次迭代,请不要退出循环内的函数。

如果ID.data.length != "",您可以添加计数器并将其递增。然后在循环之后,检查增量是否等于validationID.length,如果是,则检查return true;