在angularjs中动态命名输入控件

erin c

我有一个输入元素,我正在尝试动态命名,但是到目前为止,使用angular js还是没有运气。

都不

<input type="text" name="resource.Name" ng-model="resource.Value" ng-required="resource.IsRequired">

也不

<input type="text" name="{{resource.Name}}" ng-model="resource.Value" ng-required="resource.IsRequired">

为我工作。当我尝试访问名称属性时,它总是作为resource.Name而不是它包含的值返回。我尝试命名此输入控件的主要原因是验证,如果用户未在字段中输入文本,我想告诉他们需要哪个文本框。如果有任何角度指令可以用于此目的,我也准备使用它们。

谁能告诉我如何实现这一目标。

我的验证功能如下:

 window.resourcesValidation = function ($scope, $rootScope, $alert) {
        var subscriptions = $scope.scopeData.Subscriptions;
        var isValidated = true;

        if ($scope.resourceDataForm && $scope.resourceDataForm.$error && $scope.resourceDataForm.$error.required) {
            var missingFields = [];
            angular.forEach($scope.resourceDataForm.$error.required, function (value, key) {
                isValidated = false;
                missingFields.push("-" + value.$name);
            });

            $alert.error("Please fill in the all required fields.\r\n" + missingFields.join("\r\n"));
        }

        if (isValidated)
            $scope.saveChanges(subscriptions);

        return isValidated;
    };
加尔帕克

在一个非常相似的问题上引用另一个答案:

发生这种情况的原因是,控件的名称(在其父窗体上注册该控件的名称)是在ngModelController的实例化期间检索到的,根据文档,该名称发生在预链接阶段*之前(因此尚无内插法)。


换句话说,验证依赖于forms.$error对象,该对象绑定到用该表单注册的控件。
控件ngModelController负责以其父形式注册控件,并在预链接阶段(当尚未对name-expression进行内插时)进行实例化。

这可以通过一个自定义指令来解决,该指令以其父窗体手动注册该控件,但仅在确定其实际名称之后(在name-expression内插之后)。


您可以在此处找到整个答案
查找“更新2”部分以获取有效的解决方案。

(这是工作演示的链接。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在angularjs中动态命名输入控件

来自分类Dev

获取 Angular 中动态命名输入的值

来自分类Dev

输入控件中的Angularjs ngModel指令

来自分类Dev

在angularjs中获取动态数组输入

来自分类Dev

用户控件中的动态控件

来自分类Dev

如何在子例程中为用户窗体上的每个控件创建动态命名?

来自分类Dev

重命名XAML中的控件

来自分类Dev

使用AngularJS中动态构建的表中的输入验证行

来自分类Dev

如何在AngularJS中向输入元素动态添加指令

来自分类Dev

从由angularJs动态创建的输入中查找总计

来自分类Dev

从由angularJs动态创建的输入中查找总计

来自分类Dev

在JavaScript中添加动态控件

来自分类Dev

在mvc中动态创建控件

来自分类Dev

在JQuery中动态添加控件

来自分类Dev

使用表单控制器引用动态命名的表单控件

来自分类Dev

Groovy中的动态命名参数?

来自分类Dev

在Ruby中动态命名变量

来自分类Dev

在R中动态命名对象

来自分类Dev

如何在面板控件中动态创建控件

来自分类Dev

动态更改html5输入控件所需的属性

来自分类Dev

使用MVP方法验证控件动态的用户表单输入

来自分类Dev

JQuery Mobile 1.4不会显示动态添加的输入控件的<label>

来自分类Dev

使用AngularJS中动态构建的表中的输入来验证行

来自分类Dev

在AngularJS中动态排序

来自分类Dev

AngularJS中的动态表单

来自分类Dev

AngularJS中的动态路由?

来自分类Dev

AngularJS中的动态重复

来自分类Dev

如何删除WPF中的动态添加的控件

来自分类Dev

在Repeater中获取动态控件和文本