【发布时间】:2015-06-14 18:22:11
【问题描述】:
我有一个包含 3 个输入字段的表单。但我也想将该表单用于其他页面。因此我减少了表格。一开始我已经将视图定义如下:
查看:
<form class="form-horizontal" name="editForm" novalidate>
<div ng-repeat="elements in form">
<div class="form-group-sm has-feedback" ng-repeat="el in elements.items" ng-class="{ 'has-error' : hasError(editForm), 'has-success' : hasSuccess(editForm) }">
<label class="control-label" for="{{el.id}}">{{el.label}}</label>
<input type="{{el.fieldType}}"
class="form-control"
placeholder="{{el.label}}"
name="{{el.name}}"
id="{{el.id}}"
ng-model="selected[el.model]"
ng-disabled="{{el.disabled}}"
ng-pattern="el.pattern"
ng-required="{{el.required}}"
/>
<p class="help-block" ng-show="editForm.{{el.name}}.$error.required && editForm.{{el.name}}.$touched">Field is required.</p>
<p class="help-block" ng-show="editForm.{{el.name}}.$error.pattern">Thats the pattern error message.</p>
</div>
</div>
</form>
我想将函数中的错误消息/验证外包。 p-Tag 中的错误消息不起作用。
我已经在我的 Ctrl 中尝试过这个:
$scope.hasError = function (form) {
return form.Firstname.$invalid && form.Firstname.$dirty;
}
$scope.hasSuccess = function (form) {
return form.Firstname.$valid;
}
这仅适用于输入字段 Firstname。但是如何为所有字段(名字、姓氏、年龄)动态定义呢?
【问题讨论】:
标签: javascript angularjs forms validation