Angular.js ngMessages在有效时显示消息

时间:2015-07-22 02:10:17

标签: javascript angularjs

从这里> 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>

还有一些我不愿意列出的内容。他们都没有工作。我可以得到一个有效的例子吗

1 个答案:

答案 0 :(得分:2)

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