想了老半天了,记录一下
app.directive("percentageCheck", function () {
return {
restrict: 'A',
require: 'ngModel',
link: function (scope, element, attr, ctrl) {
if (ctrl) {
var customValidator = function (value) {
var temp = parseInt(value.split("%")[0]);
var validity = ctrl.$isEmpty(value) || (temp > 0 && temp < 100);
ctrl.$setValidity("percentageCheck", validity);
return validity ? value : undefined;
};
ctrl.$formatters.push(customValidator);
ctrl.$parsers.push(customValidator);
}
}
};
});
再加上正则表达式
<input maxlength="8" percentage-check ng-pattern="/^d+.?d{0,2}%$/">
完全限制住
搞定收工