【发布时间】:2015-08-25 18:27:46
【问题描述】:
我有一个表单,其中模型包含一组子模型,如下所示:
<form name="form1">
<div ng-repeat="sub in model.submodels">
<input ng-model="sub.name" required>
<button ng-click="delSubmodel($index)">x</button>
</div>
<button ng-click="addSubmodel()">+</button>
<button ng-disabled="form1.$invalid" type="submit">Save</button>
</form>
当没有输入字段时(或者,一般来说,当输入字段的计数小于/大于某个值时)如何使表单无效
更新:感谢您的回复,我希望这可以在控制器之外完成。
【问题讨论】:
-
“当没有输入字段时”是什么意思?
-
您回答了自己的问题。只需检查model.subModels.length的值,然后如果.length
-
@angglada 在提供的示例中,如果
model.submodels是一个空数组,则不会生成任何输入字段,这在我的情况下是无效的。 -
@Vinny 我应该在哪里插入这张支票,以便使用“角度方式”?我绝对不应该直接修改
form1.$invalid。我希望它由角度验证机制设置。 -
@checat 在你的控制器中。当您初始化控制器时,您可能应该使表单无效(我假设您将没有子模型)。然后,当您单击 delSubmodel 和 addSubmodel 时,您应该检查子模型的数量,并在必要时使表单无效/验证。
标签: angularjs validation angularjs-validation angularjs-forms