1

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

myForm.$error.required

使用所需的输入值验证输入表单和

myForm.email.$valid

验证我的正则表达式电子邮件

如果我要打印 ie {{ with the above code}},我可以看到验证输入及其正确性的布尔结果。但是,当我在带有两个表达式的按钮上使用 ng-disabled 时,它不起作用,但是如果我只用一个表达式放置 ng-disable,我可以看到它确实有效,但我无法同时放置两个表达式,即

<button type="submit" ng-disabled="myForm.$error.required && !myForm.email.$valid">Sign in</button>

目前,根据第一个表达式,结果变为真,但我认为 && 意味着需要满足两个条件才能使结果为真?可能是因为输出是 true + false = true 吗?

4

2 回答 2

1

true + false不是说true && false,是说true || false

这就是为什么你没有得到正确的行为,所以:

<button type="submit" ng-disabled="myForm.$error.required || !myForm.email.$valid">Sign in</button>
于 2017-03-10T20:16:24.180 回答
0

如果要在整个表单无效时禁用按钮,则应使用 ng-disabled="myForm.$invalid"。

如果您想在未提供电子邮件或电子邮件无效的情况下禁用该按钮,则应使用 || 而不是 && 所以按钮在这两种情况下都将被禁用。

于 2017-03-10T20:15:00.060 回答