Bir takımda kaç oyuncunun hangi konumda olacağına karar vermek için kullanacağım oyuncular adlı bir yönergem var. Ben kaleci, savunma, orta alan için bunlardan 4, birine sahip ve ileri, bu yüzden şuna benzer (+ ve - Arttırma ve eksiltme butonları vardır) olabilir:
- Forwards: 2 +
- Mid-Field: 4 +
- Defence: 4 +
- Goal Keeper: 1 +
Ben artışı için doğrulamak 11'in üzerine çıkmadığından emin olun, ancak başka bir sınıftaki maxPlayers geçerliliğine nasıl erişebilirim?
require: any = '^ngModel';
restrict: string = 'A';
link: ng.IDirectiveLinkFn = (scope: any,
element: ng.IAugmentedJQuery,
attributes: any,
ngModel: ng.INgModelController) => {
scope.getTotalPlayers =(): number => {
return this.playerStateService.getTotalPlayers();
};
function customValidation(modelValue: number) {
var totalPlayers: number = scope.getTotalPlayers();
if (totalPlayers > 11) {
ngModel.$render =() => {
ngModel.$setValidity('maxPlayers', false);
};
} else {
ngModel.$setValidity('maxPlayers', true);
}
return modelValue;
}
ngModel.$parsers.push(customValidation);