Angular2设置输入字段的最小值和最大值

时间:2017-07-19 18:46:57

标签: html typescript angular2-forms

我是Angular2的新手。我试图将用户输入限制在110到5000之间的数字。我不想只做用户输入验证。我想阻止用户输入不同的值而不是110到5000之间的数字。我试着最大和最小,但它只适用于上下键击。

这是HTML部分:

<div class="form-group">
    <label for="flowRate">Flow Rate</label><br>
    <div class="input-group calc-addon-group">
      <input class="form-control addon-input" type="number" step="any" [(ngModel)]="tmpFlowRate" id="flowRate" onfocus="this.select();">
      <span class="input-group-addon units">{{settings.flowMeasurement}}</span>
    </div>
  </div>

2 个答案:

答案 0 :(得分:1)

我发现输入验证在Angular 2中是一场噩梦,这并不容易直截了当。如果你要进行大量的输入验证等,我建议过渡到使用模型驱动/反应表单。This resource是你需要的一个很好的起点。

我还建议过渡到Angular4。 Angular2的许多错误修复直接进入Angular4,大多数库正从Angular2转移到Angular4。您的Angular2代码不应该被大幅修改以进行转换。

答案 1 :(得分:1)

在最新的Angular版本中,似乎已为minmax范围添加了验证程序,但已经回滚 - 请参阅issue此处。

与此同时,您可能最好使用正则表达式(模式)验证程序,或编写自己的自定义验证程序指令来强制执行有效的值范围。

有关自定义验证程序的信息,请参阅the official docoThoughtram下的示例。