<!DOCTYPE html> <html lang="pl"> <head> <meta charset="utf8" /> <link type="text/css" rel="stylesheet" href="css/bootstrap.css" /> </head> <body> <div ng-app="app"> <div ng-controller="AppCtrl" class="container"> <div class="row"> <div class="col-sm-6"> <div class="panel panel-primary"> <div class="panel-heading"> </div> <div class="panel-body"> <form id="myForm" class="form-horizontal" name="myForm"> <div class="form-group" ng-repeat="(key, input) in inputs"> <div class="col-sm-8"> <input type="email" id="myInput{{key}}" class="form-control" ng-model="input.name" name="myInput{{key}}" required /> <div ng-messages="myForm.myInput{{key}}.$error"> </div> </div> </div> </form> </div> <div class="panel-footer clearfix"> <button type="button" class="btn btn-success pull-right" ng-click="addInput()"> </button> </div> </div> </div> <div class="col-sm-6"> </div> </div> </div> </div> <script type="text/javascript"> angular.module('app', ['ngMessages']); angular.module('app').controller('AppCtrl', function($scope) { $scope.inputs = [{ id: 1, name: 'example' }, { id: 2, name: 'test' }, { id: 3, name: 'custom' }]; $scope.addInput = function() { $scope.inputs.push({ id: 0, name: '' }); }; }); </script> </body> </html>
Problem występuje we fragmencie <div ng-messages="myForm.myInput{{key}}.$error"> w taki sposób nie można się odwołać do $error, choć obiekt myForm.myInput{{key}} istnieje, bo sprawdzałem w console.log.
Co powinno być w ng-messages ?