我使用typeahead的UI Bootstrap组件,我想强制选择来验证我的表单.
当“typeahead-editable”被设置为false并且用户输入“坏”值时,是否可以将其设置为无效,或者我应该为此写一个指令(但是如何)?
当“typeahead-editable”被设置为false并且用户输入“坏”值时,是否可以将其设置为无效,或者我应该为此写一个指令(但是如何)?
谢谢
更新2013-08-09 9:54:
你对以下解决方案有什么看法?
var formValidatorsModule = angular.module('app.validator.formValidator',[]); formValidatorsModule.directive('typeaheadForceSelection',function() { return { require : 'ngModel',link : function(scope,elm,attrs,ctrl) { ctrl.$parsers.push(function(viewValue) { if (viewValue == undefined) { ctrl.$setValidity('typeaheadForceSelection',false); } else { ctrl.$setValidity('typeaheadForceSelection',true); } return viewValue; }); } }; });
来自
http://angular-ui.github.io/bootstrap/的typeahead指令已经支持限制匹配的输入(换句话说,人们可以绑定到仅限模型的值,作为类似头像弹出窗口中的匹配).您可以通过简单地设置typeahead-editable =’false’属性来实现.