Jquery 验证 - 如果其他字段符合要求,则包括最低要求
Jquery Validation - Include minimum requirement if other field is
我目前有两个字段只有其中一个填写时才需要。这工作正常,但麻烦的是只有在另一个填写时才向#minimumField添加一个最小值。如下代码stands,不管#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()!="";
}
}
EDIT: Got it to now fire at the right time, but how do I specify the minimum amount? It's defaulting to 1, but I want it to be 0.01.
minimumField: {
min: function(element){
return $("#otherField").val()!="";
}
}
那是因为您的 return
正在评估一个布尔值...
return $("#otherField").val() != "";
$("#otherField").val() != ""
将始终 return true
或 false
,这就是为什么您看到的最小值为 1
(true
) .
如果你想要最小值是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 : '';
}
}
我目前有两个字段只有其中一个填写时才需要。这工作正常,但麻烦的是只有在另一个填写时才向#minimumField添加一个最小值。如下代码stands,不管#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()!="";
}
}
EDIT: Got it to now fire at the right time, but how do I specify the minimum amount? It's defaulting to 1, but I want it to be 0.01.
minimumField: {
min: function(element){
return $("#otherField").val()!="";
}
}
那是因为您的 return
正在评估一个布尔值...
return $("#otherField").val() != "";
$("#otherField").val() != ""
将始终 return true
或 false
,这就是为什么您看到的最小值为 1
(true
) .
如果你想要最小值是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 : '';
}
}