如何使用 Angular 2 仅在 HTML 元素处于活动状态时启用验证?

How to enable validations only when the HTML element is active using Angular 2?

我有一个单选按钮和一个相应的输入文本框,当单选按钮被选中时,它会显示出来。我保留了输入标签所需的验证属性,如下所示:

<input type="text" id="textbox" required />

当我取消选择单选按钮时,此文本框会隐藏。但是,即使隐藏了文本框,我也无法提交表单。毕竟,隐藏的必填字段仍然是必填字段,所以我不能只将 required 属性放在那些隐藏字段上。

解释完我的场景:

Q1。是否有任何 "HTML-Only" 方法仅在文本框处于活动状态时才允许验证?

Q2。如果没有,那么使用 Angular 2(或 Javascript)的最佳和最简单的方法是什么?

您可以在 showing/hiding 输入框时使用 'ng-if' 代替 'ng-show / ng-hide '。 因为,ng-show/hide 只隐藏了元素,但它在 DOM 中,而 ng-if 仅在条件满足时才生成元素