Standard HTML text input with angular data binding.
<input type="text" ng:model="..." [name="..."] [required] [ng:minlength="..."] [ng:maxlength="..."] [ng:pattern="..."] [ng:change="..."]>
ng:model – {string} –
Assignable angular expression to data-bind to.
name(optional) – {string} –
Property name of the form under which the widgets is published.
required(optional) – {string} –
Sets REQUIRED
validation error key if the value is not entered.
ng:minlength(optional) – {number} –
Sets MINLENGTH
validation error key if the value is shorter than
minlength.
ng:maxlength(optional) – {number} –
Sets MAXLENGTH
validation error key if the value is longer than
maxlength.
ng:pattern(optional) – {string} –
Sets PATTERN
validation error key if the value does not match the
RegExp pattern expression. Expected value is /regexp/
for inline patterns or regexp
for
patterns defined as scope expressions.
ng:change(optional) – {string} –
Angular expression to be executed when input changes due to user interaction with the input element.
<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'); });