首先验证什么?反应形式的FormGroup或FormControls?

时间:2018-12-01 07:25:39

标签: angular forms validation angular-reactive-forms reactive-forms

考虑具有两个日期控件的表单。例如,FirstDate和LastDate。 表单需要使用反应性表单进行设计。两个控件均具有3个验证。 1)应该是日期。 2)日期不得早于当日的30天。 3)FirstDate应该在LastDate之前。

我正在尝试使用formcontrol验证来处理前两个验证。最后是使用FormGroup验证的比较验证。

test1.h

我正在验证formControl,以使用自定义验证器$ ./bin/main1 second: 1 检查所选日期是否在30天之前。

 datesFormGroup: this.formBuilder.group(
  {
    firstDateCtrl: ['', [Validators.required,validateRange]],
    lastDateCtrl: ['', [Validators.required,validateRange]],
  },
  { validator: validateDateForm }
) 

此外,我有自定义验证器validateRange来比较两个日期,并检查第一个日期是否在最后一个日期之前。

validateRange(dateControl: AbstractControl){
  if(!dateControl.errors){
      ....
      dateControl.setError({range:true})
  }
}

在调试了此代码段之后,我发现validateDateForm中的dateControl具有比较错误。这是否意味着validateDateForm((dateForm: FormGroup) ){ if(!dateControl.errors){ ... .... ... check and set error dateGroup.controls.firstDate.setErrors({ compare: true }); } } validateRange之前执行。

FormGroup验证是否在FormControl验证之前执行?

0 个答案:

没有答案