Как я могу протестировать пользовательский валидатор, который получает одно свойство?
@Directive({
selector: '[customValidator][ngModel]',
providers: [{ provide: NG_VALIDATORS, useExisting: CustomValidator, multi: true }]
})
export class CustomValidator implements Validator {
@Input() min: number;
constructor() {}
validate(control: AbstractControl): ValidationErrors {
return control.value < this.min ? { error: true } : null;
}
}
Я попытался сделать это программно, создав экземпляр класса CustomValidator, а затем передать новый элемент управления формой, но я получаю ошибку, когда япопробуйте добавить свойство min в FormControl.
it('should set error on value less than min', () => {
let customValidator = new CustonValidator();
let input = new FormControl(1);
input.min = 10; ///Error here
...
});