我在AngularJS应用程序中使用基于jQuery验证的验证插件(它建立在jQuery库之上)。
需要输入类别(搜索字段)。但是如果我用文本填充并且没有选择匹配的搜索,我仍然可以提交它,因为搜索字段中有文本。如果没有选择选项,怎么能使它无效?
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 = "";
}
});
答案 0 :(得分:0)
您可以将ng-disabled指令添加到“提交输入”
<div class="form-actions">
<input type="submit" value="Send" class="btn btn-primary btn-submit" ng-disabled="contactForm.$invalid">
</div>
请参阅此处工作演示: