Angular2:找出FormControl是否需要验证器? [英] Angular2: Find out if FormControl has required validator?

查看:108
本文介绍了Angular2:找出FormControl是否需要验证器?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

 这个是否有人知道如何找出Angular2 FormControl的方法.form = builder.group({name:['',Validators.required]}; 

Can然后我查询 this.form.controls ['name'] 控件是否为必填字段?我知道我可以检查它是否有效,但这不是我希望。



亲切的问候,
Marc

解决方案

这个函数应该适用于FormGroups和FormControls。
$ b $ pre $ export const hasRequiredField =(abstractControl:AbstractControl):boolean => {$ b $如果(abstractControl.validator){
const validator = abstractControl.validator({} as AbstractControl);
if(validator&& validator.required){
return true;


if(abstract control ['controls']){
for(const controlName (abstractControl ['controls']){
if(abstractControl ['controls'] [controlName]){
if(hasRequiredField(abstractControl ['controls'] [controlName])){
返回true;
}
}
}
}
return false;
};


does someone know a way to find out for an Angular2 FormControl if the required validor is registered for the control.

this.form = builder.group({name: ['', Validators.required]};

Can I then query the this.form.controls['name'] control if it is a required field? I know I can check if it is valid, but that's not what I want.

Kind regards, Marc

解决方案

This function should work for FormGroups and 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;
};

这篇关于Angular2:找出FormControl是否需要验证器?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆