不确定我在这里做错了什么。 我想在用户提交表单后显示ng-message。但是,在呈现表单时会显示该消息。似乎ng-show没有评估。
我在表达式中打印了字段,当我打开表单时它是错误的。此外,我将其更改为ng-hide但我有同样的问题。
请你看看..
<div class="small-12">
<label>first name
<span class="field-error"> *</span>
</label>
<input name="firstName"
type="text"
maxlength="25"
ng-disabled="isSubmitting" required
ng-model="candidate.firstName"
ng-class="{error:isFormSubmitted && contactForm.firstName.$error.required}" />
<div ng-messages="forms.contactForm.firstName.$error"
class="errorFormLabel" role='alert'>
<div ng-message="required"
ng-show="isFormSubmitted">This is a required field {{isFormSubmitted}}
</div>
</div>
</div>
答案 0 :(得分:1)
将ng-messages
视为switch
子句,您可以将/ ng-show
/ ng-hide
嵌套在ng-message
指令中但不能一起使用
例如:
<div ng-messages="forms.contactForm.firstName.$error"
class="errorFormLabel" role='alert'>
<div ng-message="required">
<span ng-show="isFormSubmitted">This is a required field {{isFormSubmitted}}</span>
</div>
</div>
</div>
如果您不想要额外的元素:<span>
,请尝试ng-if
,基本上ng-if
的优先级高于任何其他angularjs指令,它会强制ng-message
如果表达式不是肯定的,则从DOM树中删除指令。
<div ng-message="required"
ng-if="isFormSubmitted">This is a required field {{isFormSubmitted}}
</div>