如何在模糊时触发ng消息?

弗朗切斯科·穆西(FrancescoMussi)

情况:

我的角度应用程序中有很多表格,我需要一个有效的错误消息系统。我发现ngMessages有用。

但是我希望仅当用户模糊了某个字段时才会显示错误消息,以减少“攻击性”。

试图:

尝试在1000毫秒使用反跳

<label class="item item-input">
    <span class="input-label"> Email alternative </span>
    <input type="email" name="email_alternative" ng-model="profile_edited.email2" ng-model-options="{ debounce: 1000 }">
</label>

<!-- Error messages for ALTERNATIVE EMAIL  -->
<label class="item item-input" ng-show="profile_edit_form.email_alternative.$error.email">
    <div class="form-errors" ng-messages="profile_edit_form.email_alternative.$error" role="alert" ng-if='profile_edit_form.email_alternative.$dirty'>
        <div class="form-error" ng-message="email">Your email address is invalid</div>
    </div>
</label>

这样,如果用户一秒钟不输入任何内容,它将正确显示错误消息。是我最想要的东西吗?

但是有时对于某些用户而言,键入字符@可能会花费超过1秒的时间。错误消息然后可能突然出现并使用户感到困惑。

但是,如果我将反跳时间设置为2或3秒,则太多了。当用户已经在另一个字段中书写时,它可能会出现。

我需要仅在用户模糊超出字段后才触发错误消息。

问题:

如何在模糊状态下触发ngMessages?

Devqon

$dirty如果在输入框中更改了文本,则结果将为true。要检查模糊,可以使用$touched输入字段属性。

查看表单文档以查看所有表单(输入)属性:https : //docs.angularjs.org/guide/forms

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章