この問題についてグーグルで検索しましたが、まだ適切な議論が見つかりません。フォーム ( angularJS app ) で valdr と ui select を使用していますが、ui-select がレンダリングする入力が name 属性を取得しないという問題に直面しました。これにより、angular がエラーをスローします。
Error: Form element with ID "undefined" is not bound to a field name.
at d.link (http://localhost:8080/bower_components/valdr/valdr.min.js:1:8414)
at invokeLinkFn (http://localhost:8080/bower_components/angular/angular.js:8141:9)
at nodeLinkFn (http://localhost:8080/bower_components/angular/angular.js:7653:11)
at compositeLinkFn (http://localhost:8080/bower_components/angular/angular.js:7009:13)
at nodeLinkFn (http://localhost:8080/bower_components/angular/angular.js:7648:24)
at http://localhost:8080/bower_components/angular/angular.js:7884:13
at processQueue (http://localhost:8080/bower_components/angular/angular.js:13071:27)
at http://localhost:8080/bower_components/angular/angular.js:13087:27
at Scope.$get.Scope.$eval (http://localhost:8080/bower_components/angular/angular.js:14287:28)
at Scope.$get.Scope.$digest (http://localhost:8080/bower_components/angular/angular.js:14103:31) <input type="text" autocomplete="off" tabindex="-1" aria-expanded="true" aria-label="{{ $select.baseTitle }}" aria-owns="ui-select-choices-{{ $select.generatedId }}" aria-activedescendant="ui-select-choices-row-{{ $select.generatedId }}-{{ $select.activeIndex }}" class="form-control ui-select-search ng-pristine ng-untouched ng-valid" placeholder="{{$select.placeholder}}" ng-model="$select.search" ng-show="$select.searchEnabled && $select.open">
そのため、同じモデルで templateCache の書き換え/変更、非表示の入力などの ui-select ディレクティブでいくつかのハックを試みましたが、結果は同じです。
ところで、このディレクティブはアプリ全体で他のディレクティブによって使用されているため、templateCache の書き換えは最悪のアプローチであり、アプリ全体をハッキングすることはできません。
誰かがこの問題に直面しましたか?
コード スニペット: http://plnkr.co/edit/sDNDDtnhi7Jxi9mtjDTl?p=preview