如何使用name=";数组[]";论angularjs中的形式

如何使用name=";数组[]";论angularjs中的形式,angularjs,Angularjs,我有一个这样的结构 $scope.mydata = { 'attribute': 'value', 'otheratribute' : 'othervalue', 'thirdatribute' : { 'name': 'xx', 'desc': 'yy' } } <form name="myForm"> <div ng-class="{ 'has-error': myForm.thirdatribute.name.$invalid }

我有一个这样的结构

$scope.mydata = {
 'attribute': 'value',
 'otheratribute'  : 'othervalue',
 'thirdatribute' : {
      'name': 'xx',
      'desc': 'yy'
  }
}
<form name="myForm">
  <div ng-class="{ 'has-error': myForm.thirdatribute.name.$invalid }">
    <span>My subdata</span>

    <input name="thirdatribute['name']" type="text" 
           ng-model="mydata.thirdatribute.name" required>

  </div>
</form>
然后像这样输入到
thirdAttribute

$scope.mydata = {
 'attribute': 'value',
 'otheratribute'  : 'othervalue',
 'thirdatribute' : {
      'name': 'xx',
      'desc': 'yy'
  }
}
<form name="myForm">
  <div ng-class="{ 'has-error': myForm.thirdatribute.name.$invalid }">
    <span>My subdata</span>

    <input name="thirdatribute['name']" type="text" 
           ng-model="mydata.thirdatribute.name" required>

  </div>
</form>

我能做些什么?

我发现这些函数很有用,您可以为输入命名任何东西,并使用'ngModelContoller'的form.thosenames调用这些函数

$scope.getCssClasses = function(ngModelContoller) {
            return {
              error: ngModelContoller.$invalid && ngModelContoller.$dirty,
              success: ngModelContoller.$valid && ngModelContoller.$dirty
            };
          };

 $scope.showError = function(ngModelController, error) {
         return ngModelController.$error[error];
    };
这里是HTML

<div class="control-group" class="getCssClasses(form.email)">
      <span ng-show="showError(form.email, 'email')" >You must enter a valid email</span>
     </div>

您必须输入有效的电子邮件
您可以将该输入命名为“thirdatributename”,而不是您当前拥有的名称。输入名称是表单对象中使用的名称,不必与ng模型名称匹配

<div class="form-group row" ng-class="{ 'has-error': myForm.thirdatributename.$invalid }">
  <span class="col-md-2 control-label text-left">My subdata</span>
  <div class="col-md-4">
    <input type="text" class="form-control "
      ng-model="mydata.thirdatribute.name"
      required
      name="thirdatributename"
      />
  </div>
</div>

我的子数据

谢谢,这对我有用!“name”属性不需要遵循相同的模型结构,对吗?这是正确的-name属性不需要遵循模型结构…这只是您在表单中引用该模型对象的验证的方式。