Мы хотели бы дать пользователю визуальную обратную связь, какое поле является обязательным, до проверки, например выделив поле синим цветом.
Мы используем Реактивные формы для проверки ввода пользователя:
export class MyFormComponent {
myForm: FormGroup;
constructor(private fb: FormBuilder) {
this.myForm = fb.group({
name: ['', Validators.required ],
city: ''
});
}
}
с шаблоном
<form [formGroup]="myForm">
<div class="form-group">
<label>Name:
<input class="form-control" formControlName="name">
</label>
</div>
<div class="form-group">
<label>City:
<input class="form-control" formControlName="name">
</label>
</div>
</form>
Позже на основе модели будет сгенерирован весь шаблон. По этой причине мы хотели бы сохранить шаблон как можно более «чистым».
Но: Для выделения обязательных полей через CSS мне нужен либо класс, либо атрибут (required) в элементе ввода. Было бы неплохо, если бы Angular мог установить один (или оба) для input
-Element, когда соответствующему FormControl
дается Validator required
.
В приведенном выше примере мне пришлось бы добавить класс required
или атрибут required
вручную в input
-Element, чтобы этот CSS работал:
.form-control[required], .form-control.required {
border-color: blue;
}
Есть ли способ автоматически присоединить класс или атрибут к элементу DOM, если для валидатора установлен соответствующий FormControl
?
.ng-invalid
и.ng-valid
? - person AJT82   schedule 23.03.2018