我有两个用于验证电子邮件和密码的输入。我可以看到以下作品的个人:
myForm.$error.required
验证具有所需输入值的输入表单 和
myForm.email.$valid
验证我的正则表达式电子邮件
如果我打印ie {{with the code}}我可以看到输入及其正确的验证的布尔结果。 然而,当我在按钮上使用ng-disabled时,两个表达式都不起作用,但如果我只使用一个表达式使用ng-disable,我可以看到它确实有效,但是我无法放置这两个表达式。
<button type="submit" ng-disabled="myForm.$error.required && !myForm.email.$valid">Sign in</button>
目前基于第一个表达式,结果变为真,但我认为&amp;&amp;意味着需要满足两个条件才能得到真实的结果? 可能是因为输出为真+假=真?
答案 0 :(得分:1)
true + false
并不代表true && false
,这意味着true || false
,
这就是为什么你没有得到正确的行为,所以:
<button type="submit" ng-disabled="myForm.$error.required || !myForm.email.$valid">Sign in</button>
答案 1 :(得分:0)
如果要在整个表单无效时禁用该按钮,则应使用ng-disabled =“myForm。$ invalid”。
如果您要在未提供电子邮件或电子邮件无效的情况下禁用该按钮,则应使用||而不是&amp;&amp;所以在这两种情况下都会禁用该按钮。