md-autocomplete "required" 验证未应用于父表单
md-autocomplete "required" validation not applied to parent form
根据 angular material 中提供的 documentation,我设置了一个有效的自动完成指令。
嵌套错误消息 "div" 中显示了所需的验证,但对父表单没有影响。
即使对于自动完成中的空值,父表单似乎也有效。
<form ng-submit="ngSubmit()" layout="column" class="md-padding"
name="itemsForm" flex>
<md-input-container>
<label>Code *</label>
<input type="text" name="code" required ng-model="ngModel.code"/>
</md-input-container>
<md-autocomplete flex
required
md-input-name="author"
md-search-text="searchText"
md-search-text-change="ngModel.author = (searchText)"
md-selected-item-change="ngModel.author = item"
md-items="item in filterAutocomplete(searchText)"
md-item-text="item"
md-floating-label="Author *">
<md-item-template>
<span md-highlight-text="ctrl.searchText">{{item}}</span>
</md-item-template>
<div ng-messages="autocompleteForm.autocomplete.$error">
<div ng-message="required">This field is required</div>
</div>
</md-autocomplete>
<md-button class="md-primary" type="submit"
ng-disabled="itemsForm.$invalid"
ng-class="{'md-raised': itemsForm}">
Save
</md-button>
</form>
在使用 md-autocomplete 时,如何实现与表单中正常必填输入字段类似的行为?
过去几天有一些提交解决了这个问题。我相信它已在 master 中修复。
https://github.com/angular/material/issues/7350
https://github.com/angular/material/issues/5896
你可以试试这个版本:
https://cdn.gitcdn.link/cdn/angular/bower-material/v1.0.6-master-3310aa9/angular-material.css
https://cdn.gitcdn.link/cdn/angular/bower-material/v1.0.6-master-3310aa9/angular-material.js
根据 angular material 中提供的 documentation,我设置了一个有效的自动完成指令。
嵌套错误消息 "div" 中显示了所需的验证,但对父表单没有影响。 即使对于自动完成中的空值,父表单似乎也有效。
<form ng-submit="ngSubmit()" layout="column" class="md-padding"
name="itemsForm" flex>
<md-input-container>
<label>Code *</label>
<input type="text" name="code" required ng-model="ngModel.code"/>
</md-input-container>
<md-autocomplete flex
required
md-input-name="author"
md-search-text="searchText"
md-search-text-change="ngModel.author = (searchText)"
md-selected-item-change="ngModel.author = item"
md-items="item in filterAutocomplete(searchText)"
md-item-text="item"
md-floating-label="Author *">
<md-item-template>
<span md-highlight-text="ctrl.searchText">{{item}}</span>
</md-item-template>
<div ng-messages="autocompleteForm.autocomplete.$error">
<div ng-message="required">This field is required</div>
</div>
</md-autocomplete>
<md-button class="md-primary" type="submit"
ng-disabled="itemsForm.$invalid"
ng-class="{'md-raised': itemsForm}">
Save
</md-button>
</form>
在使用 md-autocomplete 时,如何实现与表单中正常必填输入字段类似的行为?
过去几天有一些提交解决了这个问题。我相信它已在 master 中修复。
https://github.com/angular/material/issues/7350
https://github.com/angular/material/issues/5896
你可以试试这个版本:
https://cdn.gitcdn.link/cdn/angular/bower-material/v1.0.6-master-3310aa9/angular-material.css
https://cdn.gitcdn.link/cdn/angular/bower-material/v1.0.6-master-3310aa9/angular-material.js