Ну, я застрял с этим. Я добавляю 2 атрибута на вход, но Angular не распознает их для проверки. Что я могу делать неправильно?
Это мой HTML
<input type = "text" id = "idDOC" class = "form-control" [(ngModel)] = "person.DOC_PERSON" #kind_doc = "ngModel" name = "dni_persona" required>
Это мой компонент .ts
document.getElementById("idDOC").setAttribute("maxlenght", "9");
document.getElementById("idDOC").setAttribute("pattern", "^[0-9]{8}$");
это консоль: (я поместил в поле ввода: '333333333333')

Выкройка и максимальная длина есть! Но после ng-reflect-model, не знаю, что происходит, есть предложения?
Заранее спасибо.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


В вашем коде опечатка
Должно быть maxlength вместо maxlenght
document.getElementById("idDOC").setAttribute("maxlength", "9");
Почему вы обращаетесь к DOM напрямую к setAttribute? Это неправильная практика в Angular. вы можете добавить его прямо в свой шаблон.
Попробуй это.
HTML
<input type = "text" id = "idDOC" class = "form-control" [(ngModel)] = "person.DOC_PERSON"
#kind_doc = "ngModel" name = "dni_persona" [maxlength] = "maxLength" [pattern] = "inputPattern" required>
JS
maxLength = 9;
pattern= /^[0-9]{8}$/;