#javascript #angular #typescript
#javascript #angular #typescript
Вопрос:
Эта проблема уже опубликована в guthub, но я не вижу там решения. https://github.com/angular/components/issues/11333
Надеялся, что есть какой-либо обходной путь.
https://mat-radio-group-validation.stackblitz.io/
Эта ссылка объяснит ошибку. Когда пользователь отправляет пустую форму, текстовое поле выделяется красным. Но переключатели не выделяются.
Спасибо
Комментарии:
1. Привет, пожалуйста, включите краткое изложение вашего вопроса с примером кода вместо простой ссылки, это поможет людям ответить на ваш вопрос напрямую. Тем более, что проблема с GitHub закрыта.
Ответ №1:
Просто добавьте в свой styles.scss (или в свой styles.css)
.mat-radio-group.ng-invalid.ng-touched .mat-radio-outer-circle {
border-color: red;
}
.mat-radio-group.ng-invalid.ng-touched .mat-radio-label-content {
color: #f44336;
border-bottom: 2px solid #f44336;
}
Затем в submit отметьте как затронутый
submit(form: FormGroup) {
if (form.valid){
.....
}
else
this.form.markAllAsTouched();
}
Вы можете увидеть в этом стекблите
ПРИМЕЧАНИЕ1: необходимо «принудительно» указать группу радиостанций. ПРИМЕЧАНИЕ2: ваш stackblitz не позволяет видеть код
Комментарии:
1. Сработало для меня. нужно только добавить ::ng-deep перед классом CSS