Text input with URL validation. Sets the URL
validation error key if the content is not a
valid URL.
<input type="url" 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 = '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'); });