2016-08-25 72 views
0

我需要一個幫助。實際上,當通過使用Angular.js動態獲取字段名稱來驗證輸入字段時,我得到以下錯誤。無法使用Angular.js動態驗證輸入字段的名稱

Error:

TypeError: Cannot read property '$invalid' of undefined 

我下面解釋我的代碼。

<form name="billdata" id="billdata" enctype="multipart/form-data" novalidate> 
    <div ng-repeat="mul in mulImage"> 
     <input type="file" class="filestyle form-control" data-size="lg" name="upload_{{$index}}" id="bannerimage_{{$index}}" ng-model="mul.image" ngf-pattern="'image/*'" accept="image/*" ngf-max-size="2MB" ngf-select="onFileSelect1($index);"> 
    </div> 
<input type="button" class="btn btn-success" ng-click="saveResturantDetails(billdata);" id="saveData" value="Save" style="margin-right:20px;"/> </div> 
</form> 

我在這裏上傳多張圖片,當用戶點擊save按鈕應該先驗證。我在下面解釋我的控制器端代碼。

$scope.saveResturantDetails=function(billdata){ 
    if(billdata.$valid){ 
    }else{ 
     if(angular.isDefined($scope.mulImage)){ 
       for(var i=0;i<$scope.mulImage.length;i++){ 
         var name='upload_'+i; 
       if(billdata.name.$invalid){ 
        alert('Please add the valid image(i.e-.png or .jpeg) of size upto 2 mb max in image field'+(i+1)); 
          return false; 
         } 
       } 
      } 
    } 
} 

其實我得到的錯誤在這if(billdata.name.$invalid)實際上它不能採取適當的名字。如果我寫這樣的「billdata.upload_0。$無效」其工作的罰款。但是,我需要動態地附加名稱。請幫幫我。

+0

我喜歡的對象添加到我的DOM,這樣我可以想像正在發生什麼,因爲我使用的形式。也許嘗試添加'

{{billdata | json }}
'你的看法? –

回答

1

將這工作:

billdata[name].$invalid 
+0

讓我來實現這個。 – subhra

+0

是的,它的工作。謝謝。 – subhra