我需要一个帮助。实际上,我在尝试通过使用Angular.js动态获取字段名称来验证输入字段时收到以下错误。
错误:
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。$ invalid'它的工作正常。但在这里我需要动态附加名称。请帮我。
答案 0 :(得分:0)
这会有效吗?
billdata[name].$invalid