gpt4 book ai didi

javascript - 在angularjs中动态命名输入控件

转载 作者:行者123 更新时间:2023-11-29 14:52:17 24 4
gpt4 key购买 nike

我有一个输入元素,我试图动态命名,但到目前为止我没有运气使用 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">

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

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

我的验证函数如下:

 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;
};

最佳答案

试试这个:

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

来自docs :

If an attribute with a binding is prefixed with the ngAttr prefix (denormalized as ng-attr-) then during the binding will be applied to the corresponding unprefixed attribute.

尽管 name="{{resource.Name}}" 也应该适用于这种情况。

更新

我在这里找到了解决方案:Dynamic validation and name in a form with AngularJS

这是一个 plunker我做的。

听起来这个问题可能会在 Angular 1.3 中得到修复。

关于javascript - 在angularjs中动态命名输入控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23856209/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com