【发布时间】:2016-09-15 19:34:01
【问题描述】:
我有一个 Angular2 Dart 应用程序,其中定义了以下类型。
class Event {
final int id;
DateTime startDate;
}
我现在想让用户输入一个新日期,所以我将此字段绑定到以下内容。
<div class="form-group">
<label for="start_date">Start Date</label>
<input type="text" class="form-control" required
[(ngModel)]="event.startDate"
ngControl="start_date"
#start_date="ngForm">
<div [hidden]="start_date.valid" class="alert alert-danger">
Start date is required
</div>
</div>
现在我很惊讶地看到用户可以输入一个无效的日期字符串,如果我例如做一个 print(event.startDate) 我得到这个无效的字符串。我的印象是 DateTime 变量是类型安全的,但它看起来就像一个普通的字符串。我错过了什么。我知道我需要添加验证器,但为什么我首先定义了一个类型?我至少希望它会爆炸:-)
那么您将如何正确输入日期?如果我将输入类型更改为“日期”,那么由于 DateTime 的时间部分,它甚至无法加载初始值。
【问题讨论】: