Мне нужно, чтобы некоторые символы, введенные в поле ввода, отображались. Когда пользователь вводит что-то во входные данные, мне нужно проверить, соответствует ли он определенным критериям, и если это так - символ должен появиться во входе (как обычно), но если нет - ничего не должно произойти.Удалить символы, введенные во вход
Так есть ли какое-то событие, которое я могу уловить, прежде чем набранный символ появится во вводе?
<body ng-app="changeExample">
<script>
angular.module('changeExample', [])
.controller('ExampleController', ['$scope', function($scope) {
$scope.var = 'a';
}])
.directive('changeValue', function() {
return {
require: 'ngModel',
link: function(scope, elem, attrs, ctrl) {
elem.on('input', function() {
if(ctrl.$viewValue !== 'a') {
scope.var = '';
}
});
ctrl.$formatters.push(function(value) {
return value === 'a' ? value : '';
});
}
}
});
</script>
<div ng-controller="ExampleController">
<input type="text" ng-model="confirmed" change-value ng-change="change()"/>
</div>
</body>
[Plunker] (https://plnkr.co/edit/ueyvq5vNjWoNSHkyEyM7?p=preview) –
Я редактировал огромную часть вашего вопроса. Пожалуйста, не стесняйтесь редактировать, если я пропустил вашу проблему. – Zanon
Спасибо. Я думаю, это то, что мне нужно –