我想限制可以输入到当前年份的输入数字,用户不能输入比当前年份高的年份。我该怎么办?
我的代码:
0x7814c3ff1e1e6584
答案 0 :(得分:1)
您可以使用min
和max
属性。
将max
属性绑定到当年,例如:<ion-input [(ngModel)]="season.Year" type="number" [max]="{{(new Date()).getFullYear()}}"></ion-input>
。
获取全年的逻辑可以移至typescript
文件中,并可以存储在currentYear
之类的变量中。然后,在模板中,我们可以像这样[max]="currentYear"
绑定到max。
答案 1 :(得分:1)
您仅可以通过HTML来做到这一点:
<input type="number" oninput="if(value > (new Date()).getFullYear()) alert('Year exceeds current year')">
如果您真的只想通过Angular进行操作,则必须创建自定义验证程序,您可以在下面的链接中找到它:
Min / Max Validator in Angular 2 Final
如果您使用的是Angular 6,则可以使用最小和最大验证器,您可以在下面的链接中找到它们:
答案 2 :(得分:0)
我建议您仅执行签入功能save()
。
可能是这样的:
if((new Date()).getFullYear() < this.season.Year) {
//display an error message, maybe using alert or toast
}