typeahead の UI Bootstrap コンポーネントを使用しており、選択を強制してフォームを検証したいと考えています。
が false に設定されていて、ユーザーが「悪い」値を入力したときに入力を無効に設定するように構成することは可能typeahead-editable
ですか?
typeahead の UI Bootstrap コンポーネントを使用しており、選択を強制してフォームを検証したいと考えています。
が false に設定されていて、ユーザーが「悪い」値を入力したときに入力を無効に設定するように構成することは可能typeahead-editable
ですか?
http://angular-ui.github.io/bootstrap/のtypeahead
ディレクティブは、入力を一致に制限することを既にサポートしています (つまり、先行入力ポップアップで一致として利用可能なモデルのみの値にバインドできます)。属性を設定するだけでこれを行うことができます。typeahead-editable='false'
この属性を に設定しても、人々が無効な値を入力するのを防ぐfalse
ことはできないことに注意してください。対応する入力が無効としてマークされ、提供された値がモデルにバインドされていないことを確認するだけです。
OP に代わって回答します。
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;
});
}
};
});