angularjs – 当typeahead-editable为false时,设置输入无效

前端之家收集整理的这篇文章主要介绍了angularjs – 当typeahead-editable为false时,设置输入无效前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用typeahead的UI Bootstrap组件,我想强制选择来验证我的表单.
当“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’属性来实现.

请注意,将此属性设置为false不会阻止人们输入无效值.它只会确保相应的输入被标记为无效,并且提供的值未绑定到模型.

猜你在找的Angularjs相关文章