我坚持如何添加验证器:我正在使用Reactive Forms,我正在使用Form Builder(类的数组)创建一个数组。以下是我如何创建表单,以及设置数组的控件:
创建表单:
createForm(): void{
this.workOrderForm = this.fb.group({
workOrderStatus: ['', Validators.required],
completedDate: '',
workOrderNotes : this.fb.array([]);
});
}
然后在表单创建之后,我调用一个方法来添加另一个控件,它是一个WorkOrderNote类型的数组:
setNotes(notes: WorkOrderNote[]) {
const noteFGs = notes.map(note => this.fb.group(note));
const notesFormArray = this.fb.array(noteFGs);
this.workOrderForm.setControl('workOrderNotes', notesFormArray);
}
WorkOrderNote
拥有名为notes
的属性。我想在上面设置一个必需的验证器。我无法找到关于Angular教程的示例..
答案 0 :(得分:2)
你必须使用setNotes的“map”工作。例如如果您的“注释”具有属性:field1和field2,则可以使用
const noteFGs = notes.map(note => {
return this.fb.group(
{
field1:[note.field1],
field2:[note.field2,Validators.required],
})
});