如何仅在填写一个无功输入字段时对其进行验证?
我的反应形式是:
this.form = this.fb.group({
code: [null, [Validators.required, Validators.pattern('^[a-zA-Z]+$')]],
dateFrom: [null, []],
dateTo: [null, []],
uk: [null, []]
});
仅当填写dateTo
时,我才需要验证dateFrom
。
答案 0 :(得分:2)
使用自定义验证程序:
在TS中:
checkFirstDate(group: FormGroup) {
let dateFrom = group.controls.dateFrom.value;
return dateFrom ? null : { dateFromNotExist: true }
}
this.form = this.fb.group({
code: [null, [Validators.required, Validators.pattern('^[a-zA-Z]+$')]],
dateFrom: [null, []],
dateTo: [null, []],
uk: [null, []]
}, {validator: this.checkFirstDate });
以HTML
<span class="text-danger" *ngIf="form.hasError('dateFromNotExist') && (form.get('dateTo').dirty || form.get('dateTo').touched)">
Fill Date Form first
</span>