验证触摸事件不适用于角度5.2

时间:2018-02-01 09:37:29

标签: javascript angular angular5

我有一个输入类型,如:

<input type="text" name="emaill" #emaill="ngModel" pattern="^\w+([\.-]?\w+)@\w+([\.-]?\w+)(\.\w{2,3})+$" [(ngModel)]="user.email" class="form-control input-underline" required />

<div *ngIf="(emaill.invalid && emaill.touched) || (emaill.touched && emaill.pristine)" class="error-block">
        <div [hidden]="!emaill.errors.required">Enter email</div>
        <div [hidden]="!emaill.errors.pattern">Invalid email</div>
       </div>

但似乎触摸事件无法正常工作,同一事件在angular 4.3之前就已开始工作。但在切换到angular 5之后,触摸的事件始终是假的。当我打印时{{1}即使在触摸输入类型后,它总是为假。 此外,如果我将输入类型“文本”更改为“密码”,它工作正常。

1 个答案:

答案 0 :(得分:0)

由于尚未退出而触发的错误“emaill.error”会阻止该值。检查控制台,你会看到。

对此进行更改:

   ...
   <div [hidden]="!emaill.errors?.required">Enter email</div>
   <div [hidden]="!emaill.errors?.pattern">Invalid email</div>
   ...

DEMO