2016-08-25 8 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> 

それは最初検証する必要THEユーザーが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)でその作業罰金を実際には私はこのように書いています適切なname.If取ることができない「billdata.upload_0を。$無効な」エラーを取得しています。しかしここで私は動的に名前を付ける必要があります。私を助けてください。

+0

私は、私は、フォームを使用すると何が起こっているかを視覚化することができるように私のDOMにオブジェクトを追加したいです。おそらく '

{{billdata | json }}
'をあなたのビューに追加しようとしますか? –

答えて

1

なり、この作品:

billdata[name].$invalid 
+0

これを実装しましょう。 – subhra

+0

はい、その作業です。ありがとうございます。 – subhra

関連する問題