2011-08-18 52 views
1

如何在javascript中爲bools做一個列表。即時通訊做一個驗證,所以我可以有一個布爾的列表,並最終我想檢查該列表,如果它包含任何錯誤。即時通訊不知道如何添加到可擴展的validations_errors(如列表)。另外我不知道我可以檢查,如果該列表包含任何真正的價值觀。獲取bools列表,.contain()

我走到這一步,是布爾變量的這個

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 
    } 

編輯
列表=真&假

列表
+0

什麼是bools列表? – Ibu

回答

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") 
1

VALIDATION_ERRORS = []; // DECLARATION

validation_errors.push(newBool​​); //向數組添加一個新的val。

然後你可以在最後定期遍歷數組。

如果我是你,雖然,我會嘗試這樣的事情......

VALIDATION_ERRORS = FALSE; //聲明

在循環

如果VALIDATION_ERRORS =真(newBool​​!);

,並在年底

如果(VALIDATION_ERRORS)//我們沒有

所以你不會需要一個整體陣列和第二循環。

編輯:手機打字

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 
} 
+0

如果該數組被稱爲validation_errors當我通過驗證時,我希望推送false。除此之外,你的代碼看起來很奇怪;)或者你只是一個慢打字員? – mplungjan

+0

哎呀,是的,好點。雖然推送的內容沒有區別,因爲我們只關心數組長度大於0.但我已將其更改爲「false」。你是對的,它看起來和你的相似!我認爲我只是一個緩慢的打字員(並且在我發佈之前沒有向我展示通常的「新答案」消息,否則我已經看到你的並放棄!) –

+0

這使得它雙重錯誤。如果驗證通過,你不想推動任何東西,如果你測試錯誤的長度 – mplungjan