我在 ng-if
指令中有一个表单。我想使用 $valid
检查 Controller 中的表单验证。
<div ng-if="paymentMethod == 12">
<form name="creditForm" id="cc-form" novalidate>
<div class="form-group">
<label for="cardNumber">Card Number</label>
<input type="text" autofocus class="form-control" name="card_number" ng-minlength="16" id="cardNumber" ng-model="creditCardNumber" required>
<div class="red-text" ng-messages="creditForm.card_number.$error" ng-if="creditForm.card_number.$dirty || creditForm.$submitted">
<div ng-message="required">##global.Card_Num_Required##</div>
<div ng-message="maxlength">##global.Card_Num_MinLength##</div>
<div ng-message="minlength">##global.Card_Num_MaxLength##</div>
<div ng-message="minlength">##global.Card_Num_Numeric ##</div>
</div>
</div>
并尝试检查 Controller 中的有效表单
if ($scope.$parent.creditForm.$valid) {
alert('valid');
} else {
alert('not valid');
}
但是无法从 Controller 访问该表单。
最佳答案
ngIf 指令根据 {expression} 删除或重新创建 DOM 树的一部分。如果分配给 ngIf 的表达式的计算结果为假值,则该元素将从 DOM 中删除,否则该元素的克隆将重新插入到 DOM 中。 你可以通过这个链接doc还有我在这里的回答answer
如果可行,您可以使用 ng-show 代替 ng-if。
关于javascript - AngularJs:如果无法从 Controller 访问,则在 ng 中形成表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40648638/