【发布时间】:2016-09-26 16:48:39
【问题描述】:
我在 Angular2 中使用 FormBuilder,并创建了一个自定义验证器服务。
组件
this.exampleForm = this.formBuilder.group({
'FirstName': ['', Validators.required],
'LastName': ['', [Validators.required]],
'Description': [''],
'Location': [''],
});
this.exampleForm .addControl("StartDate", this.formBuilder.group({
'Month': [0, [Validators.required, ValidationService.monthValidator]],
'Year': [0, [Validators.required, ValidationService.yearValidator]]
}));
this.exampleForm .addControl("EndDate", this.formBuilder.group({
'Month': [0],
'Year': [0]
}));
HTML 组件
<div formGroupName="StartDate">
<select formControlName="Month">
<option>...</option>
</option>
</select>
<select formControlName="Year">
<option>...</option>
</select>
</div>
我不希望 EndDate 早于 StartDate
如何根据 StarDate 控件验证 EndDate 控件?
编辑
试过这样的:
this.exampleForm = this.formBuilder.group({
...
}, passwordMatchValidator);
function passwordMatchValidator(g: FormGroup) {
return g.get('FirstName').value === g.get('LastName').value
? null : {'mismatch': true};
}
它没有任何作用
【问题讨论】:
标签: angular formbuilder