The problem is that your REGX pattern will only match "0-9".
To satisfy your requirements (0-9999999), you must rewrite your regx pattern:
ng-pattern="/^[0-9]{1,7}$/"
My example:
HTML:
<div ng-app ng-controller="formCtrl"> <form name="myForm" ng-submit="onSubmit()"> <input type="number" ng-model="price" name="price_field" ng-pattern="/^[0-9]{1,7}$/" required> <span ng-show="myForm.price_field.$error.pattern">Not a valid number!</span> <span ng-show="myForm.price_field.$error.required">This field is required!</span> <input type="submit" value="submit"/> </form> </div>
JS:
function formCtrl($scope){ $scope.onSubmit = function(){ alert("form submitted"); } }
Here is the jsFiddle demo .
Chickenrice Nov 07 '13 at 6:34 2013-11-07 06:34
source share