【发布时间】:2019-08-09 23:09:27
【问题描述】:
这应该是一个相对简单的问题(我希望如此)但我昨晚花了几个小时没有成功。我正在使用 ng-repeat 和输入控件在表格中显示设备行,并且我想在表格上方显示验证错误。我尝试了以下方法:
<div class="col-xs-12" ng-show="equipmentDuplicatesForm.$invalid">
<div class="info-text-block info-text-block-error">
<p ng-show="(equipmentDuplicatesForm.assetNo.$error.smDuplicate || equipmentDuplicatesForm.assetNo.$error.duplicate)">
{{getDuplicateError()}}
</p>
<p ng-show="equipmentDuplicatesForm.assetNo.$error.maxlength">
@string.Format(Messages.cannotExceed, Labels.assetNo, "100")
</p>
<p ng-show="equipmentDuplicatesForm.serialNo1.$error.maxlength">
@string.Format(Messages.cannotExceed, Labels.serialNo1, "100")
</p>
</div>
我的表使用以下代码:
<tbody infinite-scroll="loadMore()">
<tr ng-repeat="row in duplicatesArray"
ng-click="selectedDuplicateIndex=$index;"
ng-class="{selected: $index === selectedDuplicateIndex}">
<td style="text-align:center;">
<input type="checkbox"
name="checkRow"
ng-model="row.isSelected"/>
</td>
<td>
<span ng-if="row.barcode>0">{{row.barcode}}</span>
<span>{{$index}}</span>
<span class="pull-right">
<i class="fa fa-trash"
style="color:red;"
ng-click="removeRow($index)"
title="@Labels.delete"></i>
</span>
</td>
<td>
<div class="col-xs-12">
<input type="text"
name="assetNo"
id="assetNo"
ng-model="row.assetNo"
class="form-control"
ng-change="checkAssetNo(row)"
ng-maxlength="100"
sm-duplicate-validator
validate-duplicates="true"
error-message="row.errorMessage"
api-method="api/rentalEquipments/checkForDuplicate"
primary-key-value="row.equipmentId"
ng-model-options="{ debounce: { default : 500, blur: 0 }}" />
</div>
</td>
<td>
<input type="text"
name="serialNo1"
id="serialNo1"
ng-model="row.serialNo1"
class="form-control"
ng-maxlength="100" />
</td>
我无法在表格上方显示 maxlength 错误,并且重复错误的成功率有限。我还尝试将 ng-form 添加到 ng-repeat 以以单独的形式显示每一行,但这也不起作用。
关于如何使它工作的任何想法?
【问题讨论】:
标签: javascript html angularjs angularjs-ng-repeat