我有一个需要的表单字段和电子邮件类型。当我从我的领域失去焦点时,我希望表单验证工作,所以我正在使用:ng-model-options =" {updateOn:' blur' }"
示例:
<input class="sng-size-input" type="email" required
ng-keyup="clearValidation(emailform.email_interface_form,emailform.email_interface_form.fromAddress)"
ng-model="emailSelectedValue.fromAddress" name="fromAddress"
ng-model-options="{ updateOn: 'blur' }"
value="{{emailSelectedValue.fromAddress}}"
ng-disabled="!emailSelectedValue.enabled" id="emailFromAddress">
<span class="sng_form_error"
ng-show="emailform.email_interface_form.fromAddress.$error.email"
data-i18n="Not Valid e-mail"> </span> <span
class="sng_form_error"
ng-show="emailform.email_interface_form.fromAddress.$error.required"
data-i18n="Required"></span>
当回到该字段并再次开始输入时,我希望我的错误消息消失,所以我正在使用:
$ rootScope.clearValidation = function(form,field){ 。字段$ setPristine(真);
};
我在该字段上的红色css消失,但错误消息不是。 我错过了什么?
我的css:
.form-validation .ng-invalid.ng-dirty {
border-color: #e94b3b;
}
谢谢,
答案 0 :(得分:2)
因为在那段时间你的输入有错误并且ng-show表达式返回true,你可以使用
$setValidity(validationErrorKey, isValid);
将此输入设置为有效以进行更多检查documentation