Вам понадобится пользовательская директива. Он срабатывает на размытие и проверяет входное значение. Если он содержит только пробелы, то значение будет пустым. Обратите внимание, что вам нужно будет использовать ng-model
вместо ng-value
:
myApp.directive('trimDir', function() {
return {
require: 'ngModel',
link: function(scope, element, attrs, ctrl) {
element.bind('blur', function(e) {
console.log(ctrl)
let trimmed = ctrl.$viewValue.replace(/[\s]/g, '');
if (trimmed.length == 0) {
ctrl.$setViewValue('');
ctrl.$render();
}
});
}
};
})
И в html:
<input type="text"
name="name"
ng-model="orderCommodity.name"
class="form-control top15"
placeholder="CERTIFICATION"
trim-dir />
Проверьте рабочую демонстрацию здесь: DEMO