2
我在我的AngularJS应用程序(构建于jQuery库顶部)基础上使用基于jQuery验证的验证插件。UI Bootstrap Typeahead:如果未选择任何选项,则使输入无效
类别输入(搜索栏)是必需的。但如果我用文本填充并且不选择匹配的搜索,我仍然可以提交它,因为搜索字段中有文本。如果没有选项被选中,我怎么能使它失效?
Plunkr:
http://plnkr.co/edit/ZYP58GxITghkTqE7PNHy
HTML(help.html)
<div class="form-group">
<label for="category">Category "{{formData.category}}"</label>
<input class="form-control" type="text" name="category" id="category" placeholder="Search..." ng-model="formData.category" typeahead="obj.name for obj in getCdOnCat($viewValue)" typeahead-editable="false" typeahead-loading="loadingLocations" required>
</div>
JS(的script.js) - HelpController
//Typeahead: Category Search
$scope.getCdOnCat = function (searchVal) {
return dataFactory.getCdOnCategory(searchVal).then(function (response) {
return response.data.categories;
}, function (error) {
console.log('Error: dataFactory.getCdOnCategory');
});
};
$scope.$watch('formData.category', function (value) {
if (value === "No matching categories") {
$scope.formData.category = "";
}
});
可能重复的[设置输入无效时,预输入编辑的是假的( http://stackoverflow.com/questions/18128793/set-input-invalid-when-typeahead-editable-is-false) – 2014-11-08 20:17:07
相同的问题:http://plnkr.co/edit/iQM45S?p=preview;讨论:https://github.com/angular-ui/bootstrap/issues/2308 – 2014-11-08 20:17:21
@MaximShoustin谢谢!没有一个线程提供解决方案? – peta 2014-11-09 12:15:14