如何使用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属性不需要遵循模型结构…这只是您在表单中引用该模型对象的验证的方式。