Ich habe eine ng-Wiederholung, die Daten und Eingaben ausspuckt, die vorgenommen werden können, um die Daten zu beheben. Wenn ein Teil jeder Wiederholung einen bestimmten Wert hat, muss ich einschränken, wie die Eingabe verwendet werden kann.Eckige dynamische Validierung basierend auf anderen Daten
So gibt es zum Beispiel eine Liste der Ausrüstung, und für die Service-Art 1511 ist die maximale Menge 1. Sie müssen es beheben, und ich möchte sicherstellen, dass sie nicht eine ungültige Nummer eingeben Das wird zu einem anderen Problem führen.
Wie kann das gemacht werden?
edit: Aktualisierte Datei und unten Code, um nur die wiederholten Bits zu reduzieren.
Beispiel jsfiddle: https://jsfiddle.net/AKarstaedt/vfuj8sjt/
HTML:
<div ng-app="myApp" ng-controller="TaskActivityCtrl" class="container-fluid">
<form novalidate name="taskActivityForm">
<div class="row" data-ng-repeat="service in bill.services">
<div data-ng-repeat="serviceCharge in service.serviceCharges">
<div class="col-md-12 table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th class="col-md-3">Service Code</th>
<th class="col-md-2">Attribute</th>
<th class="col-md-2">Billed/Invoiced Value</th>
<th class="col-md-5">Updated Value</th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="3">{{ service.serviceCode }}
</td>
<td>Quantity</td>
<td class="existQuantity">{{ serviceCharge.quantity }}</td>
<td>
<input type="number" class="form-control" placeholder="New quantity" data-ng-model="serviceCharge.newQuantity" min="0">
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</form>
</div>
Controller:
angular.module('myApp', [])
.controller('TaskActivityCtrl', function($scope) {
$scope.bill = {
"services": [{
"billableIndicator": true,
"serviceCode": "1511",
"serviceCharges": [{
"equipment": {
"equipmentInitial": "TTEX",
"equipmentNumber": "988172"
},
"quantity": 2,
"rate": 5000,
"amount": 10000,
"unitTypeCode": "PC",
"billableIndicator": true,
"billableDisplay": "Y",
"suspendIndicator": false
}, {
"equipment": {
"equipmentInitial": "TTEX",
"equipmentNumber": "90099"
},
"quantity": 1,
"rate": 7888,
"amount": 7888,
"unitTypeCode": "PC",
"billableIndicator": true,
"billableDisplay": "Y",
"suspendIndicator": false
}]
}, {
"billableIndicator": true,
"serviceCode": "1530",
"serviceCharges": [{
"equipment": {
"equipmentInitial": "TTEX",
"equipmentNumber": "988172"
},
"quantity": 25,
"rate": 200,
"amount": 5000,
"unitTypeCode": "PM",
"billableIndicator": true,
"billableDisplay": "Y",
"suspendIndicator": false
}]
}],
}
});
Controller-Code bitte? –
Ich würde vorschlagen, ein bestimmtes Problem in einem einfachen Stück Code zu isolieren, so dass es leichter lesbar ist. Zu viel irrelevanter Code und Markup hier und in der Geige – Austin
Ich aktualisierte den Code und Geige, um es ein wenig lesbarer zu machen. Der Controller wurde hinzugefügt (dies ist nur der JSON, der einer Bereichsvariablen zugewiesen ist). –