【发布时间】:2019-04-03 17:08:20
【问题描述】:
我有一个基于表单上另一个字段的值有条件可见和有条件需要的控件。
<div class="form-group" ng-hide="vm.registration.typeId !== 2">
<div class="row">
<div class="col-md-offset-1 col-md-10">
<label class='col-md-3' for="dischargeYear">Discharge Year*</label>
<div class="col-md-7">
<input type="text" id="dischargeYear" name="dischargeYear"
class="form-control large-text-form main-input"
ng-model="vm.registration.dischargeYear"
ng-required="vm.registration.typeId !== 2"
ng-class="{'has-error': form.dischargeYear.$touched && form.dischargeYear.$invalid}">
</div>
</div>
</div>
</div>
但是,即使$validators 在dischargeYear 上的dischargeYear 上有required 验证器form,它在$error 中也不会出现错误。有趣的是我还有另一个可以工作的控件,唯一的区别是ng-required;另一个控件只是标记required。
有人见过吗?
【问题讨论】:
-
你在设置registration.typeId后尝试过$scope.apply()
-
不,我有@NegiRox,但我可以试一试。
-
我认为存在一些问题,因为一旦您设置了标志,它将填充错误。看我下面的答案。
-
那些双重否定太疯狂了。当
typeId为不2时,控件不可见。当typeId不时需要该控件 2. 因此当它不可见时需要该控件。 -
@georgeawg 你完全明白 - 我也必须处理好这个问题。这是漫长的一天,我想我离一切都太近了! :D
标签: javascript angularjs validation