我已经在一个问题上停留了一段时间,我觉得我已经花了所有力气。
我有一个使用ng-repeat创建的动态表单,出于某种原因,ng-pattern在这种情况下将不起作用,但是ng-required可以完美地工作。
field.label = "test input"
field.key = "test_input"
field.type = "text"
field.templateOptions.type = "text"
field.templateOptions.required = true
field.templateOptions.pattern = "\\d+"
代码如下:
<form name="form">
<div ng-repeat="field in fields">
<div ng-if="field-type=='input'">
<label>{{field.label}}</label>
<input
type="{{field.templateOptions.type}}"
name="{{field.key}}"
ng-required="{{field.templateOptions.required}}"
ng-pattern="{{field.templateOptions.pattern}}"
ng-model="model[field.key]"
/>
<div ng-show="form[field.key].$error.required">Required Field</div>
<div ng-show="form[field.key].$dirty && form[field.key].$error.pattern">Numeric Field Required</div>
</div>
</div>
我什至尝试过在ng-repeat中使用ng-form(这没用)。
这有效,但是不能在ng-repeat中使用:
<form name="form">
<label>test input</label>
<input type="text"
name="test_input"
ng-required="true"
ng-pattern="\\d+"
ng-model="model" />
<div ng-show="form.test_input.$error.required">Required Field</div>
<div ng-show="form.test_input.$dirty && form.test_input.$error.pattern">Numeric Field Required</div>
</form>
任何帮助将不胜感激,谢谢