我有以下输入:
<input id="firstname" class="form-control"
name="firstname" ng-model="event.firstname" autocomplete="off"
required validation-event-firstname ng-model-options="{ updateOn: 'default blur', debounce: { default: 300, blur: 0 } }">
validation-event-firstname
是一个调用rester服务器的自定义异步验证器。我需要该字段为required
。
以下是显示错误的代码:
<ng-messages for="form.firstname.$error" role="alert" ng-show="(form.firstname.$dirty || form.firstname.$touched) && form.firstname.$invalid">
<ng-message when="required" class="error-message">required</ng-message>
<ng-message when="my-custom-validation" class="error-message">my custom validation</ng-message>
</ng-messages>
问题是:当我刷新页面并在字段中放入一些内容时,错误消息“required”显示为0.1s。此行为不依赖于字段的内容:如果我放置了无效的服务器值(由my-custom-validation
触发),我可以看到错误消息(它在0.1秒后消失)。
当我删除指令validation-event-firstname
时,没有问题。我认为这个问题不依赖于异步验证器的代码,因为我尝试使用我的业务代码并使用简单的$timeout
,效果仍然相同。
先谢谢你的帮助。