我有一个简单的表格,里面只有一个日期控件。当我输入无效日期(如 2018 年 2 月 30 日)时,控件处于无效状态,并且我的 css 样式启动并且控件显示为红色边框。但我的问题是当用户点击保存时,this.appFormGroup.invalid
返回false
并执行保存操作。如何停止保存操作?(我想通知用户该日期无效。)
以下代码演示了我面临的问题。谢谢。
app.component.ts 文件
import { Component, OnInit } from '@angular/core';
import { FormGroup, FormBuilder } from '@angular/forms';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
title = 'app';
appFormGroup: FormGroup;
constructor(public formBuilder: FormBuilder) {
}
ngOnInit() {
this.appFormGroup = this.formBuilder.group({
sampleDate: ['']
});
}
onButtonClick() {
if (this.appFormGroup.invalid) {
alert("Invalid");
}
else {
alert("Valid");
}
}
}
app.component.html 文件
<form [formGroup]="appFormGroup">
<div >
<div>
<label for="sampleDate">Sample Date</label>
<input type="date" [id]="sampleDate" formControlName="sampleDate" min="" class="form-control-dynamic">
</div>
<button (click)="onButtonClick()">Save</button>
</div>
</form>
app.components.css 文件
input[type="date"]:invalid {
border-width : 2px;
border-color: red;
}