如何仅在填充一个时验证反应性输入字段?
How to validate reactive input field only when one is filled?
如何仅在填写一个时验证反应性输入字段?
我的反应形式是:
this.form = this.fb.group({
code: [null, [Validators.required, Validators.pattern('^[a-zA-Z]+$')]],
dateFrom: [null, []],
dateTo: [null, []],
uk: [null, []]
});
我只需要在 dateFrom
填写时验证 dateTo
。
使用自定义验证器:
在 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>
如何仅在填写一个时验证反应性输入字段?
我的反应形式是:
this.form = this.fb.group({
code: [null, [Validators.required, Validators.pattern('^[a-zA-Z]+$')]],
dateFrom: [null, []],
dateTo: [null, []],
uk: [null, []]
});
我只需要在 dateFrom
填写时验证 dateTo
。
使用自定义验证器:
在 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>