Text input with email validation. Sets the EMAIL
validation error key if not a valid email
address.
<input type="email" ng:model="..." [name="..."] [required] [ng:minlength="..."] [ng:maxlength="..."] [ng:pattern="..."]>
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.
<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'); });