[英]Validate multiple forms hidden with ng-if in angularJs?
我目前有一个带有多个屏幕的表单,如果没有所有表单,这些表单将无法提交。 基本上,我想使用ng-if
隐藏当前未使用的表单,但是表单为空,因此我无法根据必填字段设置有效性。 我们正在使用angularJs 1.3.2。
我建立了一个自定义的表单生成器指令。 每个表单仅具有一个蓝图,并使用指令生成。 所以主要形式是这样设置的(除了更多情况):
<ng-form name="form">
<fieldset ng-form="customerInfo">
<div ng-if="activeTab === 'Customer Info'" ng-include="'customer-info.view.html'"></div>
</fieldset>
<fieldset ng-form="financialInfo">
<div ng-if="activeTab === 'Financial Info'" ng-include="'financial-info.view.html'"></div>
</fieldset>
<div>
<button type="submit" ng-disabled="form.$invalid" ng-click="onSubmit()">Save</button>
</div>
</div>
</ng-form>
如果我使用ng-if
,则不会生成表单元素,因此不会检查其有效性。 如果我使用ng-show
,则该页面需要很长时间才能呈现。
我宁愿不必在JavaScript中设置有效性(因为我有许多具有很多条件的模型,这些条件使每个模型都有效)。
有谁知道解决这个问题的有效方法?
我在朱奇菲尔德,
我的建议不是以唯一的方式呈现所有表单。 为了更好的方法,请使用ng-form
创建多步骤ng-form
。 这样,您就可以单独验证每个对象,而不必担心其他部分(集成来自控制器的路由和验证)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.