是否有人知道一种方法来查找Angular2 FormControl(如果为控件注册了所需的验证器)。
this.form = builder.group({name: ['', Validators.required]};
然后可以查询
this.form.controls['name']
控件是否为必填字段吗?我知道我可以检查它是否有效,但这不是我想要的。亲切的问候,
马克
最佳答案
此函数应适用于FormGroups和FormControls
export const hasRequiredField = (abstractControl: AbstractControl): boolean => {
if (abstractControl.validator) {
const validator = abstractControl.validator({}as AbstractControl);
if (validator && validator.required) {
return true;
}
}
if (abstractControl['controls']) {
for (const controlName in abstractControl['controls']) {
if (abstractControl['controls'][controlName]) {
if (hasRequiredField(abstractControl['controls'][controlName])) {
return true;
}
}
}
}
return false;
};