0

我正在制作一个长注册表单,它的字段需要验证。大多数输入只是文本,但有一个用于条件的复选框和两个用于性别的单选按钮。

因此,如果任何输入为空、未检查条件或选择性别,我将尝试触发验证,这对我不起作用:

if(((Nimi&&Osoite&&Postinumero&&Postitoimipaikka&&Postinumero&&Puhelin&&Sahkoposti&&Kurssi&&Kurssilaiset&&Koiranimi&&Koiraika&&Koirarotu)=="") || ((Sukupuoli)=="Valitse")) || ((Ehdot):not(:checked))){
//Input validation

//Gender Validation

//Conditions?
}

我认为还有一个语法错误,但我该如何让它工作呢?

要清楚:

我希望仅在任何输入为空、未选中复选框或选中单选时触发验证。

4

3 回答 3

2

圣母玛利亚。这就是jQuery Validate存在的原因。使用它,它是惊人的。

于 2012-11-09T19:20:55.407 回答
0
(Nimi&&Osoite&&Postinumero&&Postitoimipaikka&&Postinumero&&Puhelin&&Sahkoposti&&Kurssi&&Kurssilaiset&&Koiranimi&&Koiraika&&Koirarotu)

结果是一个布尔值,true如果所有这些变量都是非“假”值并且false如果有的话是“假”。然后,您将获取该布尔值并将其与空字符串进行比较以获得相等性。阿卡,总是false

您需要将所有这些都与 emtpy 字符串进行显式比较。此外,您需要使用||(或)运算符。因为如果有空,您希望它运行。不只是如果所有都是。

(Nimi==="")||(Osoite==="")||...

编辑:我已将相等运算符更改为===这意味着比较是严格的,因此非类型转换。例如,以下是“虚假”值 using==和严格比较之间的一些区别===

"" ==  false // true
"" === false // false
于 2012-11-09T19:20:37.937 回答
0

&& 条件应该有效。如果你 && 一堆字符串在一起,一个是“”,那么整个求值就变成“”,否则就变成最后一个字符串的值。

我认为问题在于如何检查复选框是否被选中。如果 $ 是 jQuery,那么正确的语法是:

!$j("selector").is(":checked")
于 2012-11-09T19:35:35.403 回答