我想驗證有多個條件的字段。我有一個單一的條件驗證工作,但我不知道如何去添加addl條件。這是我到目前爲止有:jquery驗證多個條件
priceEstimate: {
required: function() {
return $('#jobType').val() != '8';
}
}
我還需要確保#jobType的值不等於「9」或「10」要麼。我嘗試使用一個或運算符,而這似乎並沒有伎倆。
任何幫助將不勝感激。
我想驗證有多個條件的字段。我有一個單一的條件驗證工作,但我不知道如何去添加addl條件。這是我到目前爲止有:jquery驗證多個條件
priceEstimate: {
required: function() {
return $('#jobType').val() != '8';
}
}
我還需要確保#jobType的值不等於「9」或「10」要麼。我嘗試使用一個或運算符,而這似乎並沒有伎倆。
任何幫助將不勝感激。
priceEstimate: {
required: function() {
var jobType = $('#jobType').val();
if (jobType < '8' && jobType > 10)
{
return true;
}else{
return false;
}
}
}
有可能更簡單的方法來寫它......但這會做雅。 http://www.w3schools.com/js/js_comparisons.asp
迴應傑里米的評論:
priceEstimate: {
required: function()
{
var jobType = Number($('#jobType').val());
var _return = true;
switch (true)
{
case (jobType <= 1):
case (jobType >= 8 && jobType <= 10):
_return = false;
break;
}
return _return;
}
}
好了,我們在這裏做一個級聯交換機。表達式設置爲true,所以它會運行每個案例......然後我們將邏輯放在每個個案中。
我們知道我們不想要1或0,所以如果它等於1或更低,在這種情況下沒有中斷,它就會被設置爲false,它將簡單地運行到下一個案例,並且甚至進一步驗證,所以你會想要儘量保持這些情況下,至少> - 如果沒有爲了你自己的理智,最大>大聲笑。
此外,我使用Number()來充實輸入中的數值,以防萬一,這樣我們也不必使用引號('10')來封裝所有的檢查,重新對待像實際的數字,而不僅僅是表示,可能會被翻譯成會使你的努力邏輯失敗的東西。
不用爲'required'規則編寫複雜函數,而是使用'addMethod'方法創建一個全新的自定義方法。 – Sparky