Angularjs ng-disabled

时间:2017-03-10 20:06:52

标签: javascript angularjs validation angular-validation angularjs-ng-disabled

我有两个用于验证电子邮件和密码的输入。我可以看到以下作品的个人:

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;意味着需要满足两个条件才能得到真实的结果? 可能是因为输出为真+假=真?

2 个答案:

答案 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;所以在这两种情况下都会禁用该按钮。