Angularjs 使用ng repeat的动态表单验证无效
我正在进行动态表单验证,如下所示:Angularjs 使用ng repeat的动态表单验证无效,angularjs,angularjs-ng-repeat,angularjs-validation,Angularjs,Angularjs Ng Repeat,Angularjs Validation,我正在进行动态表单验证,如下所示: <form role="form" name="myForm"> <div class="row" ng-repeat="field in fields"> <div class="form-group"> <input type="text" class="form-control" placeholder="{{field.title}}" name="formDat
<form role="form" name="myForm">
<div class="row" ng-repeat="field in fields">
<div class="form-group">
<input type="text" class="form-control" placeholder="{{field.title}}" name="formData[field.name]" ng-model="formData[field.name]" required ng-minlength=5 ng-maxlength=20>
<div class="error">
<small class="error" ng-show="myForm.formData[field.name].$error.minlength">
{{field.minValidationMessage}}
</small>
</div>
</div>
</div>
...
</form>
$scope.fields = [{
name: 'name',
title: 'Name',
placeholder: 'Enter product name',
...
},{
name: 'code',
title: 'Code',
placeholder: 'Enter product code',
...
}]
$scope.formData = {
name: '',
code: ''
};
<small class="error" ng-show="myForm.code.$error.minlength">
Your name is required to be at least 3 characters
</small>
以下代码在此不起作用:
<small class="error" ng-show="myForm.formData[field.name].$error.minlength">
{{field.minValidationMessage}}
</small>
{{field.minValidationMessage}
但是,如果没有ng repeat(静态),其工作如下:
<form role="form" name="myForm">
<div class="row" ng-repeat="field in fields">
<div class="form-group">
<input type="text" class="form-control" placeholder="{{field.title}}" name="formData[field.name]" ng-model="formData[field.name]" required ng-minlength=5 ng-maxlength=20>
<div class="error">
<small class="error" ng-show="myForm.formData[field.name].$error.minlength">
{{field.minValidationMessage}}
</small>
</div>
</div>
</div>
...
</form>
$scope.fields = [{
name: 'name',
title: 'Name',
placeholder: 'Enter product name',
...
},{
name: 'code',
title: 'Code',
placeholder: 'Enter product code',
...
}]
$scope.formData = {
name: '',
code: ''
};
<small class="error" ng-show="myForm.code.$error.minlength">
Your name is required to be at least 3 characters
</small>
您的姓名必须至少包含3个字符
如何在ng show
中引用myForm.formData[field.name]
提前感谢。输入的字段名和验证的字段名不一样,应该是same@harish将输入更正为
formData[field.name]
,这是一个打字错误。但是原始报告的问题仍然存在。请看,angular中不支持动态字段名