我很难获得使用多个条件的验证。
我尝试了几种不同的方式,但似乎都没有。
这有效:
return this.optional(element) || value != "somevalue";
但如果我添加另一个条件,它们都不起作用:
return this.optional(element) || value != "somevalue" || value != "someothervalue";
感谢任何帮助。
答案 0 :(得分:1)
我使用括号来提高可读性,以便始终将this.optional(element)
与其他所有内容进行比较。
return this.optional(element) || ( value != "somevalue" || value != "someothervalue");
如果value = somevalue
...
value != "somevalue"
=> FALSE
value != "someothervalue"
=> TRUE
所以(FALSE || TRUE)
=> TRUE
。
使用其他OR
,它将始终通过验证,我不会认为这就是您想要的。
所以我真的认为你打算这样做......
return this.optional(element) || ( value != "somevalue" && value != "someothervalue");
然而,在不了解你的逻辑的情况下,确实无法确定出现了什么问题。