javascript - ngRequired 未在表单字段上设置 $error 属性
问题描述
我有一个基于表单上另一个字段的值有条件地可见和有条件地需要的控件。
<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
有required
验证器,它在. 同样有趣的是我有另一个有效的控件,唯一的区别是;另一个控件只是标记。dischargeYear
form
$error
ng-required
required
有人见过这个吗?
解决方案
最后,答案是ng-if
在周围使用div
,只是required
在input
. 这很有效,因为它在不需要时从 DOM 中删除了元素,并在需要时重新编译它。
<div class="form-group" ng-if="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"
required
ng-class="{'has-error': form.dischargeYear.$touched && form.dischargeYear.$invalid}">
</div>
</div>
</div>
</div>
这导致$validators
and$error
被填充并且标签被弹出。
推荐阅读
- python - WGSI 和非 WSGI Django 应用程序的设计/编写方式是否不同?
- cmake - 在 solaris11 中安装 cmake 3.11
- android - 无法获取 imageView 的顶部和底部
- python - 值的长度与索引的长度不匹配
- python - 将 plt.hist() 用于 2500 行的数组时的性能问题
- java - 如何在 log4j 中转义 CRLF?
- bash - 声明对 zsh 和 bash 有效的数组
- google-apps-script - 从 Google 应用脚本访问 Google 文档评论
- c++ - 指示 Qi 转换属性失败的适当方法是什么?
- javascript - 将传单地图对象传递给事件