创建自定义验证器以针对多个表单字段进行验证
Create a custom validator to validate against multiple form fields
我有以下表单设置:
this.form = new FormGroup({
...
year: new FormControl("", validateDateMethod(year, month, day)),
month: new FormControl("", validateDateMethod(year, month, day)),
day: new FormControl("", validateDateMethod(year, month, day))
});
我想创建一个自定义验证器来验证基于 3 个字段的日期。
是否可以基于多个表单值创建验证器?
普通海关验证器只接受当前控件和任何参数值。
谢谢
您可以将所有三个日期分组到一个表单组中,并向其中添加验证器。然后您可以验证所有三个字段。
this.form = new FormGroup({
...
dateGroup:this.formBuilder.group({
year: new FormControl(""),
month: new FormControl(""),
day: new FormControl("")
},{validator:validateDates})
});
validateDates(c:AbstractControl){
const year = c.get('year');
const month = c.get('month');
const day = c.get('day');
....
}
我有以下表单设置:
this.form = new FormGroup({
...
year: new FormControl("", validateDateMethod(year, month, day)),
month: new FormControl("", validateDateMethod(year, month, day)),
day: new FormControl("", validateDateMethod(year, month, day))
});
我想创建一个自定义验证器来验证基于 3 个字段的日期。
是否可以基于多个表单值创建验证器?
普通海关验证器只接受当前控件和任何参数值。
谢谢
您可以将所有三个日期分组到一个表单组中,并向其中添加验证器。然后您可以验证所有三个字段。
this.form = new FormGroup({
...
dateGroup:this.formBuilder.group({
year: new FormControl(""),
month: new FormControl(""),
day: new FormControl("")
},{validator:validateDates})
});
validateDates(c:AbstractControl){
const year = c.get('year');
const month = c.get('month');
const day = c.get('day');
....
}