在Angular 2中快速键入时,带有验证的输入字段崩溃

时间:2016-05-09 08:39:18

标签: forms validation angular

我在Angular 2中有一个表单,使用Validators进行简单验证。

html模板

<form role="form" #myForm="ngForm" (ngSubmit)="submit()" novalidate [ngFormModel]="form">
    <div class="form-group  list-element">
        <label for="name">name*</label>
        <input type="text" name="name" class="form-control" ngControl="name"
               #name="ngForm" placeholder="Enter name" [(ngModel)]=user.name >
    </div>
</form>

用于验证的ControlGroup

ngOnInit() {    
    this.form = new ControlGroup({
      name: new Control('', Validators.compose([
        Validators.required,
        Validators.pattern("(([a-zA-Z ]|[0-9])+)*"),
        Validators.minLength(5),
        Validators.maxLength(80)
      ]))
    });
  }

当我在输入字段中键入快速(随机)字符时(例如#1KZBZKBjkndedjk@@@kjbzdzdékj!),应用程序崩溃。这不会总是发生,所以我没有真正注意到一个模式。

这是崩溃发生的地方,所以我认为崩溃与模式有关。 enter image description here

2 个答案:

答案 0 :(得分:3)

这是一个已知问题https://github.com/angular/angular/issues/7822,并且可能会在此请求落实https://github.com/angular/angular/pull/7421

时修复

答案 1 :(得分:1)

首先,这与AngularJS无关。

这是因为您的模式错误我不知道您需要什么模式但是例如如果您需要验证电子邮件然后使用此模式 &安培;只需检查你的模式。

你的代码......

Validators.pattern(“^ [_ A-Z0-9] +([_ A-Z0-9] +)的 @ [A-Z0-9 - ]。。+([A-z0-9- ] +)(。[AZ] {2,4})$“),

你的代码结束......

那就是它!