Как я могу передать параметр в специальный валидатор, написанный для управляемой шаблоном формы в Angular 7?
Я собрал следующий код из множества других вопросов и постов в блоге, но большинство сосредоточено вокругРеактивные формы, а не tempalte.
import { AbstractControl, ValidatorFn, NG_VALIDATORS, Validator, FormControl } from '@angular/forms';
import { Directive, Input } from '@angular/core';
// validation function
function validateMinValue(minValue: number): ValidatorFn {
return (c: AbstractControl) => {
console.log(minValue);
return null;
}
}
@Directive({
selector: '[minValue][ngModel]',
providers: [
{ provide: NG_VALIDATORS, useExisting: MinValueValidator, multi: true }
]
})
export class MinValueValidator implements Validator {
@Input("minValue") minValue;
validator: ValidatorFn;
constructor() {
this.validator = validateMinValue(this.minValue);
}
validate(c: FormControl) {
return this.validator(c);
}
}
Как я могу получить доступ к значению, переданному в minValue на входе, подобном этому
<input type="text" name="testInput" class="form-control"
[(ngModel)]="testValue" required
currencyMask [options]="{ thousands: ',', decimal: '.' }"
minValue="100">