【发布时间】:2016-07-04 09:08:11
【问题描述】:
我有一个input="text",这是必需的。
下面的代码是一个强制用户只输入数字的文本指令。
默认情况下,所需的警告是开启的。现在的问题是,如果您在文本框中键入除数字以外的任何关键字,它不会键入字符(这很好)但所需的错误将消失!!!!!!结果是一个空值的文本框,不需要错误消息!!!
angular.module('league').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);
}
};
});
<input type="text" class="CreateTxt" ng-model="league.name" name="leagueName" required />
<span ng-show="myForm.leagueName.$error.required" style="color:red">Its required...</span>
【问题讨论】:
标签: javascript angularjs asp.net-mvc validation angularjs-directive