angular.module.ng.$compileProvider.directive.input.number

Description

Text input with number validation and transformation. Sets the number validation error if not a valid number.

Usage

<input type="number"
       ng-model="{string}"
       [name="{string}"]
       [min="{string}"]
       [max="{string}"]
       [required]
       [ng-minlength="{number}"]
       [ng-maxlength="{number}"]
       [ng-pattern="{string}"]
       [ng-change="{string}"]>

Parameters

Example

 <script>
   function Ctrl($scope) {
     $scope.value = 12;
   }
 </script>
 <form name="myForm" ng-controller="Ctrl">
   Number: <input type="number" name="input" ng-model="value"
                  min="0" max="99" required>
   <span class="error" ng-show="myForm.list.$error.required">
     Required!</span>
   <span class="error" ng-show="myForm.list.$error.number">
     Not valid number!</span>
   <tt>value = {{value}}</tt><br/>
   <tt>myForm.input.$valid = {{myForm.input.$valid}}</tt><br/>
   <tt>myForm.input.$error = {{myForm.input.$error}}</tt><br/>
   <tt>myForm.$valid = {{myForm.$valid}}</tt><br/>
   <tt>myForm.$error.required = {{!!myForm.$error.required}}</tt><br/>
  </form>
  it('should initialize to model', function() {
   expect(binding('value')).toEqual('12');
   expect(binding('myForm.input.$valid')).toEqual('true');
  });

  it('should be invalid if empty', function() {
   input('value').enter('');
   expect(binding('value')).toEqual('');
   expect(binding('myForm.input.$valid')).toEqual('false');
  });

  it('should be invalid if over max', function() {
   input('value').enter('123');
   expect(binding('value')).toEqual('');
   expect(binding('myForm.input.$valid')).toEqual('false');
  });