У меня есть форма, которая разбита по компонентам, и поэтому мне нужно использовать .addControl
, чтобы заставить форму работать вместе.
Это структура формы на данный момент:
name: ['', [Validators.required, Validators.maxLength(255)]],
address: this.ofb.group({
addressLineOne: ['', Validators.required],
addressLineTwo: ['', Validators.required],
addressLineThree: [''],
addressPostcode: ['', [Validators.required, OrgValidators.postcodeValidator]]
})
Я преобразовал поля в синтаксис .addControl
следующим образом:
this.createOrganisationForm.addControl('name', new FormControl(null, [Validators.required, Validators.maxLength(255)]));
this.createOrganisationForm.addControl('addressLineOne', new FormControl(null, [Validators.required]));
this.createOrganisationForm.addControl('addressLineTwo', new FormControl(null, [Validators.required]));
this.createOrganisationForm.addControl('addressLineThree', new FormControl(null, [Validators.required]));
this.createOrganisationForm.addControl('addressPostcode', new FormControl(null, [Validators.required, OrgValidators.postcodeValidator]));
Однако, похоже, они теряют групповой «адрес». Я попытался добавить адрес в объект так:
let addressGroup = {
addressLineOne: ['', Validators.required],
addressLineTwo: ['', Validators.required],
addressLineThree: [''],
addressPostcode: ['', [Validators.required, OrgValidators.postcodeValidator]]
}
, а затем добавить его следующим образом:
this.createOrganisationForm.addControl('address', addressGroup);
но я получаю ошибку:
нельзя назначить параметру типа 'AbstractControl'.
Как добавить группу элементов управления в родительский элемент управления с помощью метода .addControl
.
Спасибо