从这里> 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>
还有一些我不愿意列出的内容。他们都没有工作。我可以得到一个有效的例子吗
答案 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>