2014-11-08 93 views
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 = ""; 
     } 
    }); 
+0

可能重複的[設置輸入無效時,預輸入編輯的是假的( http://stackoverflow.com/questions/18128793/set-input-invalid-when-typeahead-editable-is-false) – 2014-11-08 20:17:07

+0

相同的問題:http://plnkr.co/edit/iQM45S?p=preview;討論:https://github.com/angular-ui/bootstrap/issues/2308 – 2014-11-08 20:17:21

+0

@MaximShoustin謝謝!沒有一個線程提供解決方案? – peta 2014-11-09 12:15:14

回答

相關問題