0

我已经被一个问题困住了一段时间,我觉得我已经用尽了所有的努力。

我有一个使用 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>

任何帮助将不胜感激,谢谢

4

0 回答 0