我遇到了一个问题,即验证消息传递似乎没有针对以下输入触发。此输入的外观完全取决于另一个输入(即仅显示他们是否还在学校)。我注意到的是,当我删除关于此输入显示的ng-if
时,验证消息很好并且会立即发生。但是,当ng-if
出现时,只有在满足ng-if
时所选的值无效时,它才会显示该消息。有什么想法吗?
HTML
<div ng-if="showSchoolLeavingYear()">
<label for="ddlSchoolLeavingYear">School leaving year:</label>
<select name="schoolLeavingYear" id="ddlSchoolLeavingYear" ng-model="session.form.schoolLeavingYear" required>
<option value="">- Please select -</option>
<option value="2017">2017</option>
<option value="2018">2018</option>
</select>
<div class="ng-hide" validation-message field="schoolLeavingYear">Please select your school leaving year.</div>
</div>
答案 0 :(得分:1)
如果ng-if
断言为false,则会从DOM中删除整个<div>
。使用ng-show
以便仍然对这些输入字段进行验证。此外,您需要关闭<div>
的{{1}}标记,以便它不适合嵌套的“错误消息div”,如下所示:
ng-if/ng-show