如何按名称获取AngularJS元素?

如何按名称获取AngularJS元素?,angularjs,validation,angularjs-scope,client-side-validation,Angularjs,Validation,Angularjs Scope,Client Side Validation,在我的表单验证中,有部分服务器验证。 因此,我应该从服务器列表中返回字段名称和每个字段中都包含错误的字符串。 我的想法是编写一个通用代码来处理所有字段,而不必事先知道它们,方法是使用它们的名称访问它们。 这是一个字段,例如: <!-- Email --> <div class="form-group" data-ng-class="{ 'has-error' : step1Form.email.$invalid && (!step1Form.email.$pri

在我的表单验证中,有部分服务器验证。 因此,我应该从服务器列表中返回字段名称和每个字段中都包含错误的字符串。 我的想法是编写一个通用代码来处理所有字段,而不必事先知道它们,方法是使用它们的名称访问它们。 这是一个字段,例如:

<!-- Email -->
<div class="form-group" data-ng-class="{ 'has-error' : step1Form.email.$invalid && (!step1Form.email.$pristine || submitted) }">
     <label>Email</label>
     <input type="email" name="email" class="form-control" data-ng-model="user.email" required data-ng-minlength="5" data-ng-maxlength="60">
     <p data-ng-show="step1Form.email.$error.required && (!step1Form.email.$pristine || submitted)" class="help-block">required!</p>
     <p data-ng-show="step1Form.email.$error.minlength" class="help-block">too short1</p>
     <p data-ng-show="step1Form.email.$error.maxlength" class="help-block">too long!</p>
     <p data-ng-show="step1Form.email.$error.email" class="help-block">invalid email!</p>
     <p data-ng-show="step1Form.email.$error.serverError" class="help-block">{{emailServerError}}</p>
</div>
问题在代码中的注释中…

您可以试试

$scope.step1Form
然后使用访问正确的值

$scope.step1Form["nameOfProblemfield"]

我相信它只是
$scope.step1Form.email.$setValidity
实际上您已经在html中使用了这种语法。到底是什么问题?你说得对,如果我想硬编码,那么我只需要执行$scope.step1Form.email.$setValidity,但我的代码不知道字段名称(“email”是动态名称..它可以是“firstname”、“lastname”或其他任何名称…,所以我需要获取这个元素($scope.step1Form.+'SomeDynamicVariableName'))然后在上面设置有效性。明白了吗?$scope.step1Form['fieldnameastring']
$scope.step1Form["nameOfProblemfield"]