【发布时间】:2018-02-01 09:37:28
【问题描述】:
我有一种输入类型,例如:
<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>
但似乎touched 事件不起作用,之前使用angular 4.3 进行相同的事件。但是切换到angular 5 后,touched 事件总是错误的。当我像{{emaill.touched}} 一样打印时,它总是即使在触摸输入类型之后也是假的。
此外,如果我将输入类型“文本”更改为“密码”,它工作正常。
【问题讨论】:
-
输入失去焦点时为真
-
是的,但它不会变为真。但是对于输入类型“密码”,它会变为真。
-
它需要对 modl 进行更改才能“触摸”为真。
-
你能详细说明一下吗,我仍然坚持它。为什么当我更改为 input type="password" 时它会工作?
标签: javascript angular angular5