2016-07-08 10 views
0

Ich habe ein Problem bei der Validierung von etwas mit Angular.js. Ich habe ein Array, das einen Wert enthält, den ich überprüfen muss, wenn dieser Array-Wert nicht null ist, dann sollte es sich in den anderen Teil bewegen, aber es passiert nicht so. Ich erkläre meinen Code unten.Mit Angular.js kann ich nicht in den else-Teil gelangen

Ich überprüfe das obige Array mit if..else Bedingung wie unten.

if($scope.mulImage.length >0){ 
    for(var i=0;i<$scope.mulImage.length;i++){ 
     if($scope.mulImage[i]['image']==null){ 
      alert('Please select iamge'+(i+1)); 
      return; 
     } 
    } 
}else{ 
    console.log('multiple image',$scope.mulImage); 
} 

In der obigen Bedingung, wenn Array bei jeder Iteration einen Wert dann sollte die sonst Teil auszuführen, aber es ist nicht wie that.I Notwendigkeit geschieht, wenn in jeder Iteration der Schleife image einen gewissen Wert hat dann der Teil sonst sollte execute.Bitte helfen Sie mir.

+0

, was das Problem ist 'sonst in Anhang {..}' Anweisung mit dem 'if' Zustand innen' for' Schleife? –

+0

Ich muss mehr Daten mit diesem Bild hochladen. Ich gab nur den kleinen Teil des Codes, wo ich ein Problem bekam. – subhra

+0

Wenn Sie diesen Code betrachten, wird Ihr else nur ausgeführt, wenn '$ scope.mulImage.length == 0'? –

Antwort

0

Verwenden Sie sollten Ihre Funktion so schreiben.

var flag=true; 
if($scope.mulImage.length >0){ 

for(var i=0;i<$scope.mulImage.length;i++){ 
    if($scope.mulImage[i]['image']==null){ 
     alert('Please select iamge'+(i+1)); 
     flag=false; 
     return; 
     } 
     } 
} 
if(flag==true){ 
    console.log('multiple image',$scope.mulImage); 
} 
+1

Das sieht hässlicher aus als der OP-Code. Bitte achten Sie besonders beim Beantworten auf die Formatierung. (Idealerweise immer!) – niksofteng

+0

Okay. Danke für den Hinweis. –

0

Ich würde empfehlen, mit Array.prototype.any, Array.prototype.find oder Array.prototype.findIndex:

var nullImagesIndexes = $scope.mulImage.findIndex(item => item['image'] == null); 

if (nullImagesIndexes) { 
    alert("Please select image " + (nullImagesIndexes[0] + 1)); 
} else { 
    console.log("multiple image", $scope.mulImage); 
} 
Verwandte Themen