0
您好我用一個指令,在我的文本字段只接受數字:指令接受數字和空的文本字段
HTML:
<form name="filtroForm">
<input id="idMatricula" type="text" class="form-control" ng-model="filtros.Matricula" maxlength="20" numbers-only>
...
模塊:
var app = angular.module('app', []);
angular.module('sg-pbm').directive('numbersOnly', function() {
return {
require: 'ngModel',
link: function (scope, element, attr, ngModelCtrl) {
function fromUser(text) {
if (text) {
var transformedInput = text.replace(/[^0-9]/g, '');
if (transformedInput !== text) {
ngModelCtrl.$setViewValue(transformedInput);
ngModelCtrl.$render();
}
return transformedInput;
}
return undefined;
}
ngModelCtrl.$parsers.push(fromUser);
}
};
});
但是,當我用在我的控制器中:
console.log($scope.filtroForm.$valid);
如果我輸入任何內容後刪除它,我的表達式將返回false,如果我的文本沒有數據。
您是否嘗試過編碼:如果爲空字符串,則string = 0? –
'' – epascarello