ng-disabled on a button 并使 Angular 中的表单无效

ng-disabled on a button and invalidating a form in Angular

我有一个带有 2 个输入框的表单,表单下方是 2 个单选按钮,单选按钮下方还有几个输入框。

默认情况下,只需要单选按钮上方的前 2 个输入框。一旦我填充了 2 个输入框,表单就会生效(myForm.$invalid 变为 false)。现在,当我单击第二个单选按钮时,其他输入框将变为必需,使 myForm.$invalid 再次变为 true。如果我单击返回第一个单选按钮,表单将再次生效。

假设选择了第二个单选按钮并且我们已经填充了所有输入框,我希望表单最终生效。我需要这个,所以我可以更改按钮的 ng-disabled。

我们该怎么做?

编辑: 好吧,忘记我上面写的一切,我白白把它复杂化了!

最简单的解决方案适合您的情况,您将使用 ng-required。示例:

False<input type="radio" name="response" data-ng-model="myRadioButtonModel" data-ng-value="false" />
True<input type="radio" name="response" data-ng-model="myRadioButtonModel" data-ng-value="true" />
       <br/>
<input name="myTextInput" type="text" ng-model="textInput" ng-required="myRadioButtonModel === true"/>

Plunker