angular.inputType.url

Description

Text input with URL validation. Sets the URL validation error key if the content is not a valid URL.

Usage

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

Parameters

Example

 <script>
   function Ctrl() {
     this.text = 'http://google.com';
   }
 </script>
 <div ng:controller="Ctrl">
   <form name="myForm">
     URL: <input type="url" 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.url">
       Not valid url!</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.url = {{!!myForm.$error.url}}</tt><br/>
 </div>
  it('should initialize to model', function() {
    expect(binding('text')).toEqual('http://google.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 url', function() {
    input('text').enter('xxx');
    expect(binding('text')).toEqual('xxx');
    expect(binding('myForm.input.$valid')).toEqual('false');
  });