得到一个bools列表,.contain()

时间:2011-08-18 08:48:59

标签: javascript jquery

如何在javascript中为bool做一个列表。我正在进行验证,所以我可以有一个bool列表,最后我想检查该列表是否包含任何错误。我不知道如何添加到varable validations_errors(如列表)。另外,我不知道如何检查该列表是否包含任何真值。

到目前为止我得到的是这个

var validation_errors;

            if (!validateForm($(this))) {
                validation_errors = false; //here i want to add the it to a list
                var $input_container = $(this).parents('.input');
                $input_container.removeClass('success').addClass('error');
            }

    //this is something what i want to do like (this code is c# based)
    if (validation_errors.contains(true)){
    // do some actions
    }

修改
bools列表=真实&列表假

3 个答案:

答案 0 :(得分:1)

validation_errors = []; //声明

validation_errors.push(newBool​​); //为数组添加一个新的val。

然后你可以在最后定期遍历数组。

如果我是你,我会尝试这样的事情......

validation_errors = false; //声明

在循环中

如果(!newBool​​)validation_errors = true;

最后

如果(validation_errors)//我们失败了

所以你不需要一个完整的数组和第二个循环。

编辑:手机打字

答案 1 :(得分:0)

var validation_errors = [];
.
.
.

    if (error) validation_errors.push(true)

if (validation_errors.length > 0) ...

如果您想存储true或false,那么您可以使用indexOf查找哪个测试失败:

if (validateForm($(this))) validation_errors.push(false);
else {
  validation_errors.push(true);
  var $input_container = $(this).parents('.input');
  $input_container.removeClass('success').addClass('error');
}

var notvalid = validation_errors.indexOf(true);
if (notValid !=-1) alert("The form #"+(notvalid+1)+" failed")

答案 2 :(得分:0)

使validation_errors成为一个数组,并将验证结果推送到数组中。如果您没有检查失败的验证(即在第一个!语句中删除if),validation_errors数组将仅包含true validateForm返回true:

var validation_errors = [];
if(validateForm($(this))) {
    validation_errors.push(false);
}
else {
   var $input_container = $(this).parents('.input');
   $input_container.removeClass('success').addClass('error');
}
if(validationErrors.length > 0) {
    //Do some actions
}

或者(因为我不是100%清楚你要做什么),你可以使用一个字符串:

var validation_errors = "";
if(validateForm($(this))) {
    validation_errors = "true";
}
else {
   var $input_container = $(this).parents('.input');
   $input_container.removeClass('success').addClass('error');
}
if(validation_errors = "true") {
    //Do some actions
}