我正在尝试动态生成表单并同时使用验证。我现在遇到的问题是输入属性name='{{key}}'
未通过验证进行插值。
<div ng-repeat="options in formObject">
<input type='radio' ng-model='ranodm' name='{{key}}'>
</div>
我知道如果我想要动态表单,我应该使用ng-form,但是我很难理解它。我正在添加我想要实现的简单plnkr示例。如果有人展示如何使用ng-form或其他方法来解决这个问题,那就太好了。
答案 0 :(得分:2)
我通过阅读这篇SO帖子找到了答案:Dynamic validation and name in a form with AngularJS
我最终使用dynamicName指令来解决这个问题所以我可以使用UUID作为字段的名称。这是一个plnkr和我使用的指令。我不能赞同该指令,我在其他帖子上找到了它。
http://plnkr.co/edit/RFrRXp2kWkP1Mefwl3Kn?p=info
myApp.directive('dynamicName', function($compile, $parse) {
return {
restrict: 'A',
terminal: true,
priority: 100000,
link: function(scope, elem) {
var name = $parse(elem.attr('dynamic-name'))(scope);
elem.removeAttr('dynamic-name');
elem.attr('name', name);
$compile(elem)(scope);
}
};
});
答案 1 :(得分:0)