Angular:仅当所有控件都不为null时才运行表单组异步验证程序

Angular:仅当所有控件都不为null时才运行表单组异步验证程序,angular,angular2-forms,Angular,Angular2 Forms,如何仅在用户填写该组中的所有控件后调用FormGroup验证。当前,它在填充每个控件时被调用。Angular 5FormGroup类有一个名为的新属性。从文件中: updateOn:作为其下所有子NgModels的默认updateOn值(除非子ngModelOptions中为此显式设置了自己的值)。潜在值:“更改”|“模糊”|“提交” 这些新特性也可用于反应形式: this.form = new FormGroup({ name: new FormControl(null, {

如何仅在用户填写该组中的所有控件后调用
FormGroup
验证。当前,它在填充每个控件时被调用。

Angular 5
FormGroup
类有一个名为的新属性。从文件中:

updateOn:作为其下所有子NgModels的默认updateOn值(除非子ngModelOptions中为此显式设置了自己的值)。潜在值:“更改”|“模糊”|“提交”

这些新特性也可用于反应形式:

this.form = new FormGroup({
    name: new FormControl(null, {
         validators: Validators.required,
         updateOn: 'blur'
    }),
 }, { updateOn: 'submit' });

Angular 5
FormGroup
类有一个名为的新属性。从文件中:

updateOn:作为其下所有子NgModels的默认updateOn值(除非子ngModelOptions中为此显式设置了自己的值)。潜在值:“更改”|“模糊”|“提交”

这些新特性也可用于反应形式:

this.form = new FormGroup({
    name: new FormControl(null, {
         validators: Validators.required,
         updateOn: 'blur'
    }),
 }, { updateOn: 'submit' });

我的要求是不对所有表单控件强制执行
required
,而是仅当该组中的所有控件均为非空时才触发验证。无论如何,我现在做的是
if(Object.keys(control.value).some(key=>!control.value[key])返回(null)FormGroup
验证程序中的code>。我的要求是不对所有表单控件强制执行
required
,但仅当该组中的所有控件均为非空时才触发验证。无论如何,我现在做的是
if(Object.keys(control.value).some(key=>!control.value[key])返回(null)
表单组
验证程序中。
this.form = new FormGroup({
    name: new FormControl(null, {
         validators: Validators.required,
         updateOn: 'blur'
    }),
 }, { updateOn: 'submit' });