【问题标题】:How to hide an error message when input is in focus?输入焦点时如何隐藏错误消息?
【发布时间】:2017-12-30 07:29:32
【问题描述】:

我正在使用 ionic2 在 angular2 中进行表单验证。我想在用户输入无效值时停止显示错误消息,仅当用户在输入框外单击时才显示错误消息。

form.html

<form>
<ion-input type="text" [(ngModel)]="username" name="username" #username="ngModel" required></ion-input>
<span *ngIf="username.touched && username.invalid && username.dirty">username is incorrect</span>
<form>

当用户输入数字时,上面的表单显示错误消息。我想在用户输入时隐藏错误消息,即输入焦点,并在用户点击输入字段外时显示错误消息,即失焦。

我该怎么做?

我正在使用 angular2 的模板驱动表单方法。

【问题讨论】:

    标签: angular angular2-forms


    【解决方案1】:

    基于此comment,您可以使用布尔标志,当输入字段处于焦点或不处于焦点时,您可以在truefalse 之间切换。

    所以声明布尔值,最初为假:

    notFocused = false;
    

    并使用focusfocusout 事件来切换您的布尔值:

    <form #f="ngForm">
      <ion-input type="text" (focus)="notFocused=false" (focusout)="notFocused=true"  
         [(ngModel)]="username" name="userrname" #userrname="ngModel" required>
      </ion-input>
      <span *ngIf="userrname.invalid && notFocused">
         username is incorrect
      </span>
    </form>
    

    StackBlitz

    【讨论】:

    • 谢谢你的回答有帮助:)
    • 很高兴听到:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-07
    • 1970-01-01
    • 2021-03-11
    • 1970-01-01
    相关资源
    最近更新 更多