Angular 2 - 仅接受输入中的自然数

时间:2016-05-18 16:32:23

标签: angular angular2-forms

我有一个商店组件,我需要禁止人们在我的输入中选择负数。

例如,如果用户在我的输入中输入 -3 ,输入值将立即变为 0

我如何控制我的角度2输入 OnChange 值以将其设置回 0 它的值为负?

尝试使用(ngModelChange)="myMethod($event)"并将参数设置为0(如果它是否定的,但没有效果。

2 个答案:

答案 0 :(得分:9)

  • 使用minstep来防止微调器变为负数。 (参考:this SO answer
  • 使用ngModelChange来处理用户尝试输入负数的情况。
@Component({
  selector: 'my-app',
  template: `{{title}}
    <p><input type="number" min="0" step="1" [ngModel]="model"
        (ngModelChange)="validate($event)">`,
})
export class AppComponent {
  title = `Angular - RC.1`;
  model = 3;
  validate(value)  {
    value < 0 ? this.model = 0 : this.model = value;
  }
}

Plunker

答案 1 :(得分:0)

使用模块ng2-validation中的mindigits验证器可以帮到您。

相关问题