一个名为=''的无效表单控件不关注隐藏元素

时间:2015-03-12 21:53:47

标签: angularjs

我有一个有条件地出现的元素,在可见时需要填写。 (使用ng-required)

然而,当它不可见时,我收到以下错误:

  

name =''的无效表单控件无法调焦

如果元素可见,如何强制ng-required才能工作。我不想在表单中输入novalidate,因为如果我这样做,当元素可见时,验证不会发生。

2 个答案:

答案 0 :(得分:9)

像这样,对ng-showng-required使用布尔值:

<form>
  <input type="text" ng-show="displayCondition" ng-required="displayCondition"/>
</form>

好问题 - 很多人都没有意识到将false传递给ng-required会禁用该指令。

答案 1 :(得分:2)

使用ng-if代替ng-show我很容易解决它!我们只有ng-if。当它不可见时,该元素不再出现在代码中。因此浏览器不会验证它。