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

Popular posts from this blog

Java 3D LWJGL collision -

spring - SubProtocolWebSocketHandler - No handlers -

methods - python can't use function in submodule -