AngularJS验证引用具有变量名称的表单对象

时间:2014-11-17 21:39:12

标签: javascript angularjs angularjs-validation

假设我有一个带有一些Angular验证的简单表单:

<form name="myForm">
    <input name="{{myField}}" 
            type="text" 
            ng-model="obj.myField" 
            required />
    <div class="text-danger" ng-show="myForm[myField].$invalid">
        <div ng-show="myForm[myField].$error.required">
            Field is required.
        </div>
    </div>
</form>

现在假设我想使用表单名称的变量而不是硬编码字符串:

<form name="{{formName}}">

如何修改myForm[myField].$invalidmyForm[myField].$error.required以继续引用我的表单?

1 个答案:

答案 0 :(得分:0)

截至当前角度,您不能拥有动态命名的表单输入元素。如果您在一组表单上执行此操作,则可以使用ng-form指令并执行类似此操作(使用jade语法):

div(ng-repeat = "user in users", class="form-group")
    ng-form(name="userFieldForm")
      input(type="text", required, ng-model="user.email", name="email")
      p(class="help-block" ng-show="userFieldForm.email.$invalid">Valid Email Address required