<div class="col-xs-7">
<div class="checkbox">
<label>
<input type="checkbox" ng-model="settings.input">
checked
</label>
</div>
<div collapse="!settings.input" ng-class="myform.input.$invalid ? 'has-error has-feedback': ''">
<input type="number" class="form-control input-sm" id="inputEmail3" name="input" ng-model="settings.input" placeholder="if checked, then do validation" required min="0">
<span ng-show="myform.input.$invalid" class="glyphicon glyphicon-remove form-control-feedback" aria-hidden="true"></span>
</div>
</div>
我的问题是,当我为required
设置input
时,form.$valid
将 false ,但我想要的只是{{1} }} 选中,然后执行checkbox
验证,因此,如果未选中,即使input
为空,input
的值也应为 true < / strong>
我的目的是覆盖form.$valid
的{{1}},如何覆盖?
答案 0 :(得分:1)
表单字段变得无效,因为您在输入字段上需要属性,因此每次将表单输入字段视为必需时。您可以做的是,您应该通过required
输入ng-required
指令来有条件地在表单字段上添加expression
属性。
<强>标记强>
<div collapse="!settings.input" ng-class="myform.input.$invalid ? 'has-error has-feedback': ''">
<input type="number" class="form-control input-sm" id="inputEmail3" name="input"
ng-model="settings.input" placeholder="if checked, then do validation"
ng-required="settings.input" min="0"/>
<span ng-show="myform.input.$invalid" class="glyphicon glyphicon-remove form-control-feedback"
aria-hidden="true"></span>
</div>
答案 1 :(得分:0)
Angular具有ng-required指令,允许使用表达式启用必需属性。使用以下内容替换required=""
上的input
:
ng-required="settings.checked"