JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-rc.0/angular.min.js"></script>
<body ng-app="app">
<h2>Angular 1.3.0-rc</h3>
Number validator:<br />
<form name="form">
<input type="text"
name="number"
ng-model="number"
number
min-number="1"
max-number="2" />
<br />
$error={{form.number.$error|json}}
</form>
</body>
JavaScript
angular.module('app', [])
.directive('number', function () {
return {
require: 'ngModel',
link: function (scope, elem, attrs, ctrl) {
// valid number
ctrl.$parsers.push(function (value) {
var valid = angular.isUndefined(value) || value === '' || isFinite(value);
ctrl.$setValidity('number', valid);
return valid
? angular.isUndefined(value) || value === '' ? undefined : Number(value)
: undefined;
});
ctrl.$parsers.push(function (value) {
if (!angular.isDefined(attrs.minNumber)) {
return value;
}
var valid = angular.isUndefined(value) || Number(value) >= Number(attrs.minNumber);
ctrl.$setValidity('minNumber', valid);
return valid ? value : undefined;
});
ctrl.$parsers.push(function (value) {
if (!angular.isDefined(attrs.maxNumber)) {
return value;
}
var valid = angular.isUndefined(value) || Number(value) <= Number(attrs.maxNumber);
ctrl.$setValidity('maxNumber', valid);
return valid ? value : undefined;
});
}
};
});