我有两个 ng-messages 与一个文字字段相关联,但我想要一个消息作为默认值 - 此字段为必填项! 随页面加载的内容将被刷新/打开 但第二个,即用户名包含至少3个字符只应在至少一个文本输入文本框时显示。
每当页面加载时,显示第二条不需要的消息,然后在页面完全加载后消失,如何删除它并使页面更加突出。
这是我的代码,我正在尝试的是
<div class="errormsg" ng-messages="loginForm.username.$error">
<div ng-message="required">This field is Mandatory!</div>
<div ng-message="minlength">Username contains atleast 3 characters</div>
</div>
建议我采用角度来实现这一目标。
提前致谢。
答案 0 :(得分:0)
您需要$pristine
和$invalid
一起使用。见下面的例子。我使用的是help-block而不是ng-message。您可以根据需要添加其他验证,如最小长度,最大长度等。
<form name="contactUsForm" ng-submit="sendContactUsMessage();" novalidate>
<div class="form-group" ng-class="{ 'has-error' : contactUsForm.name.$invalid && !contactUsForm.name.$pristine }">
<label for="name">Name<span class="glyphicon glyphicon-asterisk mandatory" aria-hidden="true" /></label>
<input type="text" name="name" class="form-control" placeholder="When were you born?" ng-model="message.name" ng-required="true">
<p ng-show="contactUsForm.name.$invalid && !contactUsForm.name.$pristine" class="help-block">Name is required.</p>
</div>
</form>