javascript - AngularJS validation error for input with brackets -
when using angularjs form validation work smoothly except following part when validating select input brackets
<div class="form-group" ng-class="{'has-error': editdorm.classid.$invalid}"> <div class="col-sm-10"> <select class="form-control" ng-model="form.classid" name="classid[]" multiple required> <option ng-repeat="class in classes" value="{{class.id}}">{{class.classname}}</option> </select> </div> </div>
appreciate help. thanks
you need use bracket
notation, name of element sq: brackets added key in form controller, need refer modal instance form controller instance editdorm['classid[]']
. when in doubt print form instance in html, i.e {{editdorm}}
show kvp.
i.e:
ng-class="{'has-error': editdorm['classid[]'].$invalid}"
angular.module('app', []).run(function($rootscope) { $rootscope.classes = [{ id: 1, classname: 'class1' }, { id: 2, classname: 'class2' }]; })
.has-error { border: 2px solid red; }
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <div ng-app="app"> <form name="editdorm"> <div class="form-group" ng-class="{'has-error': editdorm['classid[]'].$invalid}"> <div class="col-sm-10"> <select class="form-control" ng-model="form.classid" name="classid[]" multiple required> <option ng-repeat="class in classes" value="{{class.id}}">{{class.classname}}</option> </select> </div> </div> </form> </div>
another note: recommended way use select use ng-options
not ng-repeat
, easy work with.
you do:
<select class="form-control" ng-model="form.classid" name="classid[]" ng-options="class.id class.classname class in classes" multiple required> </select>
Comments
Post a Comment