2017-02-10 48 views
2

我目前有兩個字段只需要如果其中任何一個填寫。這是工作正常,但有什麼麻煩的是添加一個最小值#minimumField只有當其他如下面的代碼所示,無論是否填充#otherField,最小錯誤消息都會觸發。jquery驗證 - 包括最低要求,如果其他字段是

如何獲得此最小值只有在otherField填充時纔有必要?

otherField: { 
    required: function(element){ 
     return $("#minimumField").val()!="0"; 
    } 
}, 

minimumField: { 
    required: function(element){ 
     return $("#otherField").val()!=""; 
    }, 
    min: 0.01 
} 

在此先感謝!

編輯:得到它現在在適當的時間開火,但我如何指定最低金額?它默認爲1,但我希望它是0.01。

minimumField: { 
    min: function(element){ 
     return $("#otherField").val()!=""; 
    } 
} 

回答

1

編輯:得到它現在火在正確的時間,但我怎麼規定的最低金額?它默認爲1,但我希望它是0.01。

minimumField: { 
    min: function(element){ 
     return $("#otherField").val()!=""; 
    } 
} 

那是因爲你return正在評估一個布爾...

return $("#otherField").val() != ""; 

$("#otherField").val() != ""總是返回truefalse,這就是爲什麼你看到的最小值爲1true)。

如果你想最小值爲0.01,則必須另外return這個值...

minimumField: { 
    min: function(element){ 
     if ($("#otherField").val() != "") { 
      return 0.01; // min set to '0.01' 
     } else { 
      return ''; // no min value set 
     } 
    } 
} 

,您可以使用自定義:filled選擇的插件提供...

minimumField: { 
    min: function(element) { 
     if ($("#otherField").is(":filled")) { 
      return 0.01; // min set to '0.01' 
     } else { 
      return ''; // no min value set 
     } 
    } 
} 

,並使用三元運算符一樣的...

minimumField: { 
    min: function(element) { 
     return ($("#otherField").is(":filled")) ? 0.01 : ''; 
    } 
} 

DEMO:jsfiddle.net/j11zoap7/

+0

這樣做的竅門 - 謝謝你! – user2521295