angular.inputType.text

Description

Standard HTML text input with angular data binding.

Usage

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

Parameters

Example

 <script>
   function Ctrl() {
     this.text = 'guest';
     this.word = /^\w*$/;
   }
 </script>
 <div ng:controller="Ctrl">
   <form name="myForm">
     Single word: <input type="text" name="input" ng:model="text"
                         ng:pattern="word" required>
     <span class="error" ng:show="myForm.input.$error.REQUIRED">
       Required!</span>
     <span class="error" ng:show="myForm.input.$error.PATTERN">
       Single word only!</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/>
 </div>
  it('should initialize to model', function() {
    expect(binding('text')).toEqual('guest');
    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 multi word', function() {
    input('text').enter('hello world');
    expect(binding('myForm.input.$valid')).toEqual('false');
  });