繁体   English   中英

验证在angularJs中用ng-if隐藏的多种形式?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM