如何限制角度的输入数字范围

时间:2018-07-16 13:09:05

标签: javascript angular typescript ionic-framework input

我想限制可以输入到当前年份的输入数字,用户不能输入比当前年份高的年份。我该怎么办?

我的代码:

0x7814c3ff1e1e6584

3 个答案:

答案 0 :(得分:1)

您可以使用minmax属性。

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,则可以使用最小和最大验证器,您可以在下面的链接中找到它们:

https://angular.io/api/forms/Validators#min

答案 2 :(得分:0)

我建议您仅执行签入功能save()。 可能是这样的:

if((new Date()).getFullYear() < this.season.Year) {
   //display an error message, maybe using alert or toast
}