HTML input element control. When used together with ngModel, it provides data-binding,
input state control, and validation.
Input control follows HTML5 input types and polyfills the HTML5 validation behavior for older browsers.
ng-model is unsupported for input[file].
<input
  ng-model="string"
  [name="string"]
  [required="string"]
  [ng-required="boolean"]
  [ng-minlength="number"]
  [ng-maxlength="number"]
  [ng-pattern="string"]
  [ng-change="string"]
  [ng-trim="boolean"]>
...
</input>
      | Param | Type | Details | 
|---|---|---|
| ngModel | string | 
         Assignable angular expression to data-bind to.  | 
    
| 
        name
        
         (optional) 
       | 
      string | 
         Property name of the form under which the control is published.  | 
    
| 
        required
        
         (optional) 
       | 
      string | 
         Sets   | 
    
| 
        ngRequired
        
         (optional) 
       | 
      boolean | 
         Sets   | 
    
| 
        ngMinlength
        
         (optional) 
       | 
      number | 
         Sets   | 
    
| 
        ngMaxlength
        
         (optional) 
       | 
      number | 
         Sets   | 
    
| 
        ngPattern
        
         (optional) 
       | 
      string | 
         Sets   | 
    
| 
        ngChange
        
         (optional) 
       | 
      string | 
         Angular expression to be executed when input changes due to user interaction with the input element.  | 
    
| 
        ngTrim
        
         (optional) 
       | 
      boolean | 
         If set to false Angular will not automatically trim the input. This parameter is ignored for input[type=password] controls, which will never trim the input. (default: true)  | 
    
<script>
   angular.module('inputExample', [])
     .controller('ExampleController', ['$scope', function($scope) {
       $scope.user = {name: 'guest', last: 'visitor'};
     }]);
</script>
<div ng-controller="ExampleController">
  <form name="myForm">
    <label>
       User name:
       <input type="text" name="userName" ng-model="user.name" required>
    </label>
    <div role="alert">
      <span class="error" ng-show="myForm.userName.$error.required">
       Required!</span>
    </div>
    <label>
       Last name:
       <input type="text" name="lastName" ng-model="user.last"
       ng-minlength="3" ng-maxlength="10">
    </label>
    <div role="alert">
      <span class="error" ng-show="myForm.lastName.$error.minlength">
        Too short!</span>
      <span class="error" ng-show="myForm.lastName.$error.maxlength">
        Too long!</span>
    </div>
  </form>
  <hr>
  <tt>user = {{user}}</tt><br/>
  <tt>myForm.userName.$valid = {{myForm.userName.$valid}}</tt><br/>
  <tt>myForm.userName.$error = {{myForm.userName.$error}}</tt><br/>
  <tt>myForm.lastName.$valid = {{myForm.lastName.$valid}}</tt><br/>
  <tt>myForm.lastName.$error = {{myForm.lastName.$error}}</tt><br/>
  <tt>myForm.$valid = {{myForm.$valid}}</tt><br/>
  <tt>myForm.$error.required = {{!!myForm.$error.required}}</tt><br/>
  <tt>myForm.$error.minlength = {{!!myForm.$error.minlength}}</tt><br/>
  <tt>myForm.$error.maxlength = {{!!myForm.$error.maxlength}}</tt><br/>
</div>