minLength
не работает в предыдущих версиях angular с type="number"
. Проверьте этот вопрос Github почему.
Если вам не нужно, чтобы входное значение имело значение type="number"
, измените его на type="text"
, и оно должно работать. Если вам нужно, чтобы он был типа номер, то вам следует использовать специальный валидатор, который проверяет, что число больше минимального 9-значного числа (100000000)
import { AbstractControl } from '@angular/forms';
function customMinValidator(control: AbstractControl): { [key: string]: boolean } | null {
if (control.value !== undefined && (isNaN(control.value) || control.value >= 100000000 )) {
return { 'customMin': true };
}
return null;
}
, а затем использовать его как -
celular: [ '', [Validators.required, customMinValidator] ]
Примечание. Выше приведен пример того, как его использовать. Он не будет работать точно так, как ожидалось, так как условие не выполнится для числа, такого как 000112313, у которого minLength 9 по желанию. Но это должно дать вам четкое представление о том, как справиться с этим.