form field validation

The problem is that your REGX pattern will only match the input “0-9”.

To meet your requirement (0-9999999), you should rewrite your regx pattern:

ng-pattern="/^[0-9]{1,7}$/"

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"); 
    } 
}