2017-02-10 35 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

相关问题