Para la parte de maxLength queda mejor que se coloque dirty en lugar de touched, esto porque si el usuario excede los 10 caracteres necesita dar click en otro lugar para que se muestre el mensaje, con dirty se muestra automáticamente
*ngIf="nameField.dirty && nameField.hasError('maxlength')"
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?