我们有一个带有所需属性的 md-autocomplete 指令。预期的行为是在用户进入表单视图时隐藏 ng-message,然后如果单击提交按钮并且自动完成为空,或者如果开始在其上输入并将其留空,则显示验证错误。
验证工作正常,但是当用户从自动完成中选择建议时,验证错误会立即显示并隐藏,如您在 gif 中看到的那样。
使用角材料 1.0.9。
md-autocomplete 的代码:
<md-autocomplete
flex
required
id="name"
md-input-name="name"
md-search-text="ctrl.searchCustomer"
md-selected-item-change="ctrl.selectedCustomerChange(item)"
md-items="item in ctrl.queryCustomer(ctrl.searchCustomer)"
md-item-text="item.display"
md-min-length="0"
md-floating-label="{{'Customer' | translate}}">
<md-item-template>
<span
md-highlight-text="ctrl.searchCustomer"
md-highlight-flags="^i">
{{item.display}}
</span>
</md-item-template>
<div
ng-show="ctrl.forms.profileForm.name.$error && ctrl.forms.profileForm.name.$touched"
ng-messages="ctrl.forms.profileForm.name.$error">
<div ng-messages-include="components/global/error-list.html">
</div>
</div>
</md-autocomplete>
有没有办法避免这个问题?