根据angular form builder/group中其他字段的值,在一个字段上运行并设置验证错误
我希望自定义函数验证器同时在StartDate和EndDate上运行 组件技术根据angular form builder/group中其他字段的值,在一个字段上运行并设置验证错误,angular,angular7,angular8,Angular,Angular7,Angular8,我希望自定义函数验证器同时在StartDate和EndDate上运行 组件技术 Createform(){ this.studentForm = formBuilder.group({ StartDate: ['', Validators.required, customFunction(), updateOn: "blur" ], EndDate: ['', null,customFunction(), updateOn: "blur" ], } 自定义函数 cus
Createform(){
this.studentForm = formBuilder.group({
StartDate: ['', Validators.required, customFunction(), updateOn: "blur" ],
EndDate: ['', null,customFunction(), updateOn: "blur" ],
}
自定义函数
customFunction(){
if (EndDate <= startDate) {
return of({ invalidDate: true });
}
}
return of(null);
};
}
customFunction(){
if (EndDate <= startDate) {
this.studentForm.form.controls['endDate'].setErrors({'invalidDate': true});;
}
}
return of(null);
};
}
在StartDate上运行时,它将CreateForm.controls['StartDate'].errors?.invalidDate设置为true。即使我在StartDate上运行函数,也可以在EndDate上设置此invalidDate吗
自定义函数正确运行,但当它在StartDate上运行时,它会在开始日期设置错误数组,但我希望在结束日期设置错误,这可能吗?在自定义函数中,可以使用setErrors函数在不同字段上设置错误 自定义函数
customFunction(){
if (EndDate <= startDate) {
return of({ invalidDate: true });
}
}
return of(null);
};
}
customFunction(){
if (EndDate <= startDate) {
this.studentForm.form.controls['endDate'].setErrors({'invalidDate': true});;
}
}
return of(null);
};
}