如果为控件注册了所需的验证器,有人知道找到 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;
};
关于 Angular 2 : Find out if FormControl has required validator?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39819123/