angular.inputType.email

Description

Text input with email validation. Sets the EMAIL validation error key if not a valid email address.

Usage

<input type="email"
       ng:model="..."
       [name="..."]
       [required]
       [ng:minlength="..."]
       [ng:maxlength="..."]
       [ng:pattern="..."]>

Parameters

Example

 <script>
   function Ctrl() {
     this.text = 'me@example.com';
   }
 </script>
 <div ng:controller="Ctrl">
   <form name="myForm">
     Email: <input type="email" name="input" ng:model="text" required>
     <span class="error" ng:show="myForm.input.$error.REQUIRED">
       Required!</span>
     <span class="error" ng:show="myForm.input.$error.EMAIL">
       Not valid email!</span>
   </form>
   <tt>text = {{text}}</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/>
   <tt>myForm.$error.EMAIL = {{!!myForm.$error.EMAIL}}</tt><br/>
 </div>
  it('should initialize to model', function() {
    expect(binding('text')).toEqual('me@example.com');
    expect(binding('myForm.input.$valid')).toEqual('true');
  });

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

  it('should be invalid if not email', function() {
    input('text').enter('xxx');
    expect(binding('text')).toEqual('xxx');
    expect(binding('myForm.input.$valid')).toEqual('false');
  });