我在AngularJs中添加了一个ng-repeat部分。我已经添加了一个必需的字段验证器。但是,当清空所有字段时,页面高度会增加,因为span标记数据会显示出来。在描述错误的ng-repeat部分之后,是否可以只显示一条错误消息。当前的UI代码如下:
<div class="row" ng-if="selectedSeasonType">
<div class="form-group ">
<label class="form-group col-md-3">Language</label>
<label class="form-group col-md-4">Title</label>
<label class="form-group col-md-5">Description</label>
</div>
</div>
<br />
<div class="row" ng-repeat="Descriptions in seasonsWithDescription" ng-if="selectedSeasonType">
<div class="form-group col-md-2 top-Margin-language">
<label ng-model="Descriptions.Language">{{Descriptions.Language}}</label>
</div>
<div class="form-group col-md-4 top-Margin-Title">
<input type="text" maxlength="150" class="form-control input-md" required="" name="titleValidate_{{$index}}" ng-model="Descriptions.Title" />
<span style="color:red" ng-show="submitted == true && mainForm.titleValidate_{{$index}}.$error.required">Title is required</span>
</div>
<div class="form-group col-md-5">
<textarea maxlength="500" class="form-control input-md noresize" required="" name="descriptionValidate_{{$index}}" noresize="" ng-model="Descriptions.Description"></textarea>
<span style="color:red" ng-show="submitted == true && mainForm.descriptionValidate_{{$index}}.$error.required">Description is required</span>
</div>
<div class="form-group col-md-1">
<a style="cursor:pointer">
<img ng-src="{{DeleteIcon_url}}" alt="delete image" ng-click="($index == !selectedDeleteIcon) || seasonsWithDescription.splice($index,1)" ng-class="{'disabled': $first}" />
</a>
</div>
</div>
如何在ng-repeat部分之后仅添加一条错误消息来描述AngularJs中所需的数据? 感谢
答案 0 :(得分:0)
根据评论,这里有plnkr以满足您的需求。
$scope.isTitleMissing = false;
$scope.cars = [{id: 1, 'brand': 'Chevy', 'model': 'Camarro'},
{id: 1, 'brand': 'Ford', 'model': 'Mustang'},
{id: 1, 'brand': 'Hyundai', 'model': 'Santa Fe'},
{id: 1, 'brand': 'Honda', 'model': 'CRV'},
{id: 1, 'brand': 'BMW', 'model': '350'}]
$scope.submitForm = function(){
var ctr = $scope.cars.length;
var titleCtr = 0;
for(var i = 0 ; i < ctr ; i++){
if($scope.cars[i].title != null){
titleCtr++;
}
}
//
if(titleCtr < ctr){
$scope.isTitleMissing = true;
}else{
//continue with submit
$scope.isTitleMissing = false;
// alert('Total cars - ' + ctr + ' and total Title '+ titleCtr);
}
它只包含总记录数,另一个记录总计瓷砖数。如果后者小于总记录数,则显示错误消息,否则继续提交。
希望这有帮助。