#angular #typescript
#angular #typescript
Вопрос:
решения по проектированию подсистемы библиотеки фреймворков waarom
привет! я новичок в angular и столкнулся с проблемой, которую, похоже, не могу решить должным образом, что означает, что я мог бы сделать действительно длинный и большой оператор if, но тогда я бы ничему из этого не научился. Проблема в том, что у меня есть большая форма, которую можно разделить на 4 раздела, в каждом разделе есть 5 полей ввода. для перехода на следующую веб-страницу я хочу потребовать, чтобы вы полностью заполнили 2 или более разделов.
Я попробовал следующее
tabel11: new FormGroup({
tabel11A: this.tabel11A,
tabel11B: this.tabel11B,
tabel11C: this.tabel11C,
tabel11D: this.tabel11D,
tabel11E: this.tabel11E
})
if(this.inputTabelForm.get('tabel9').valid){
i = 1;
}
if(this.inputTabelForm.get('tabel10').valid){
i = 1;
}
if(this.inputTabelForm.get('tabel11').valid){
i = 1;
}
if(i >= 2){
return true;
}
кажется, что когда ничего не заполнено, поэтому, когда все поля равны нулю, они по-прежнему воспринимаются как действительные, что делает это намного сложнее для меня.
Если кто-то знает, как вы должны решить эту проблему, это было бы здорово!
Комментарии:
1. Что именно это .tabel11A ?
Ответ №1:
При проверке this.inputTabelFrom.get('tabelx')
вы проверяете всю подтаблицу как объект, а не все конкретные экземпляры подтаблицы. Если вы хотите проверить, заполнены ли все входные данные в одной из подчиненных форм, вам нужно будет проверить все входные данные этой подчиненной формы. Для получения дополнительной информации о проверке формы с помощью Angular, пожалуйста, проверьте это.
Комментарии:
1. Я посмотрел на ссылку и до сих пор не совсем понимаю, как вы будете перебирать подчиненную форму. Я могу сделать
this.inputTabelForm.get(tabelx.tabelxA).value
это, однако это все равно даст мне действительный ответ, даже если ничего не было заполнено. я просто не знаю, как это проверить, и чем изменить, чтобы требовалось только 22. Если вы поделитесь большей частью своего кода (например, включая HTML, который вы используете), либо в качестве дополнения к вашему исходному сообщению, либо в виде фрагмента кода, тогда я смогу помочь вам немного лучше.