我正在尝试动态生成表单并同时使用验证。我现在遇到的问题是输入属性 name='{{key}}'
未通过验证进行插值。
<div ng-repeat="options in formObject">
<input type='radio' ng-model='ranodm' name='{{key}}'>
</div>
我知道如果我想要动态表单,我应该使用 ng-form,但是我很难理解它。我正在添加我想要实现的简单 plnkr 示例。如果有人能展示如何使用 ng-form 或其他方法解决这个问题,那就太好了。
最佳答案
我通过阅读这篇文章找到了答案: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);
}
};
});
关于AngularJs 动态表单生成与验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21754721/