【问题标题】:AngularJs dynamic form generation with validation带有验证的AngularJs动态表单生成
【发布时间】:2014-02-13 23:56:40
【问题描述】:

我正在尝试动态生成表单并同时使用验证。我现在遇到的问题是输入属性name='{{key}}' 没有被验证插值。

<div ng-repeat="options in formObject">
     <input type='radio' ng-model='ranodm' name='{{key}}'>
</div>

我知道如果我想要一个动态表单,我应该使用 ng-form,但是我很难理解它。我正在添加我想要实现的简单 plnkr 示例。如果有人能展示如何使用 ng-form 或其他方法解决这个问题,那就太好了。

http://plnkr.co/edit/faG89bmu18nNNODVRV3x

【问题讨论】:

标签: angularjs


【解决方案1】:

我通过阅读这篇 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);
        }
    };
});

【讨论】:

    【解决方案2】:

    【讨论】:

      猜你喜欢
      • 2015-10-22
      • 1970-01-01
      • 1970-01-01
      • 2015-12-16
      • 2015-07-01
      • 1970-01-01
      • 2023-03-30
      • 2014-02-22
      • 1970-01-01
      相关资源
      最近更新 更多