Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 角度表单验证:如何覆盖$invalid_Angularjs_Angularjs Directive - Fatal编程技术网

Angularjs 角度表单验证:如何覆盖$invalid

Angularjs 角度表单验证:如何覆盖$invalid,angularjs,angularjs-directive,Angularjs,Angularjs Directive,选中的 我的问题是,当我为输入设置required时,表单$valid将为false,但我想要的只是当选中复选框时,然后执行输入验证,因此当未选中时,即使输入也是空的,form.$valid的值应为true 我的目的是覆盖输入的$valid,如何覆盖?表单字段变得无效,因为您在输入字段上有required属性,所以每次表单输入字段都被视为必需。因此,您可以做的是,您应该在表单字段中有条件地添加required属性,方法是在expression中输入ng required指令 标记 <d


选中的

我的问题是,当我为
输入设置
required
时,
表单$valid
将为false,但我想要的只是当选中
复选框时,然后执行
输入
验证,因此当未选中时,即使
输入
也是空的,
form.$valid
的值应为true


我的目的是覆盖
输入的
$valid
,如何覆盖?

表单字段变得无效,因为您在输入字段上有required属性,所以每次表单输入字段都被视为必需。因此,您可以做的是,您应该在表单字段中有条件地添加
required
属性,方法是在
expression
中输入
ng required
指令

标记

<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>

Angular有一个指令,允许使用表达式启用所需的属性。将
input
上的
required=”“
替换为以下内容:

ng-required="settings.checked"

ng-required="settings.checked"