Text input that converts between comma-seperated string into an array of strings.
<input type="list" ng:model="..." [name="..."] [required] [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: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.names = ['igor', 'misko', 'vojta']; } </script> <div ng:controller="Ctrl"> <form name="myForm"> List: <input type="list" name="input" ng:model="names" required> <span class="error" ng:show="myForm.list.$error.REQUIRED"> Required!</span> </form> <tt>names = {{names}}</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('names')).toEqual('["igor","misko","vojta"]'); expect(binding('myForm.input.$valid')).toEqual('true'); }); it('should be invalid if empty', function() { input('names').enter(''); expect(binding('names')).toEqual('[]'); expect(binding('myForm.input.$valid')).toEqual('false'); });