我有一项任务是为日期时间输入划分2条消息:
- 日期为必填项
- 已过期(如2023年2月30日不是有效日期)
但问题是当我将验证器与Form Builder一起使用时.在我点击提交按钮之前,日期报税表是有效的.所以当我点击顶峰按钮时,如果日期无效,日期总是返回NULL(这意味着我不能设置2个不同的条件,因为2个条件是相同的空值).所以当我点击提交按钮时,我不能在Form Builder中为2消息控件设置Error.
图书馆
import * as dateFormat from "dateformat";
在组件中:
updateForm: FormGroup;
constructor(
private fb: FormBuilder) {}
createForm() {
let now = new Date();
this.updateForm = this.fb.group({
date: [
dateFormat(now, "yyyy-mm-dd"),
[Validators.required],
],
});}
ngOnInit(): void {
this.createForm()}
onSubmit(){
console.log(this.updateForm.value.date)
//alway null if date not valid
}
在html中:
<input
type="date"
class="form-control input is-primary"
formControlName="ngayApDung"
[ngClass]="{ 'is-invalid': submitted && f.date.errors }"
cdkFocusInitial
/>
<div *ngIf="submitted && f.date.errors" class="help is-danger">
<div *ngIf="f.date.errors.required" translate>
date is required
</div>
</div>
我需要解决这个问题的办法.谢谢!