从这里> Angular ngMessages change class when valid and not only on error

我已经试过了

<div ng-messages="userForm.name">
    <i ng-message="$error.required" class="fa fa-exclamation-circle"></i>
    <i ng-message="$valid" class="fa fa-exclamation-check"></i>
</div>


这个

<div ng-messages="userForm.name.$error">
    <i ng-message="required" class="fa fa-exclamation-circle"></i>
    <i ng-message="$valid" class="fa fa-exclamation-check"></i>
</div>


和这个

<div ng-messages="userForm.name.$error">
    <i ng-message="$error" class="fa fa-exclamation-circle"></i>
    <i ng-message="userForm.name.$valid" class="fa fa-exclamation-check"></i>
</div>


还有一些我不想列出的内容。他们都没有工作。请给我一个可行的例子

最佳答案

ngMessages正在检查特定类型的列表,例如,如果$ error存在,则它正在检查错误类型的列表,例如required,min-length,max-length等。

在您的情况下,您尝试使用$valid中的$error。因为它是有效的,所以不会发生错误,因此不会发生。

我认为您可以简单地使用ng-show属性来显示这样的消息

<div ng-show='myForm.myName.$error.required'>required</div>
<div ng-show='myForm.myName.$valid'>valid</div>


或就您而言

<i ng-show='myForm.myName.$error.required' class='fa fa-exclamation-circle'></i>
<i ng-show='myForm.myName.$valid' class='fa fa-exclamation-check'></i>


看这个例子
http://plnkr.co/edit/z1Lrz17z9qnViq9HAahg?p=preview

关于javascript - Angular.js ngMessages有效时显示消息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31552708/

10-13 02:21