Пользовательский валидатор, который я сейчас использую:
static digitOnly(digit: string): ValidatorFn {
return (control: AbstractControl): ValidationErrors | null => {
const restrict = [];
for (let i = 0; i < parseInt(digit); i++) {
restrict.push('0');
}
const val = control.value;
if (val === null || val === '') {
return null;
}
if (restrict.toString().replace(/,/g,'') === val.toString()) {
return { 'invalidNumber': true };
}
const pattern = new RegExp(`^[0-9]{${digit}}$`);
if (!val.toString().match(pattern)) {
return { 'invalidNumber': true };
}
return null;
}
}
Описание:
Я хочу добавить пользовательский валидатор в поле ввода, которое принимает GPA, требование: введенное значение не может быть больше 400 или пустым или 0 или 1
прямо сейчас: мой пользовательский валидатор работает для следующих условий: проверка 000 как недействительного, что является правильной проверкой 0 или 1 или цифры c single di git как недействительный, который является правильным
Единственная проблема заключается в том, что он принимает значения выше 400
, ожидая быстрой помощи.