我有一个包含三个Javascript计算输入的表单,默认为0。
为了验证表单,至少有一个字段必须具有大于0的值。
如何成功完成此操作? 我已经知道了' require_from_group'验证方法,以确保填写几个字段之一,但是有类似的东西检查这些字段的值吗?
JS:
$('#registerForm').validate({
rules: {
gramsTOT: {
require_from_group: [1, '.notZero']
},
unitsTOT: {
require_from_group: [1, '.notZero']
},
eurcalcTOT: {
require_from_group: [1, '.notZero']
}
}, // end rules
}); // end validate
HTML:
<input type='number' lang='nb' class='specialInput first notZero' id='gramsTOT' name='gramsTOT' value="0" readonly /><br />
<input type='number' lang='nb' class='specialInput first notZero' id='unitsTOT' name='unitsTOT' value="0" readonly /><br />
<input type='number' lang='nb' class='specialInput notZero' id='eurcalcTOT' name='eurcalcTOT' value="0" readonly />
答案 0 :(得分:0)
您可以使用jQuery.validator.addMethod
构建自定义验证规则,在您的情况下,它将是
jQuery.validator.addMethod("greater_than_number", function(value, element, options) {
var val = $(options[1], element.form).filter(function() {
return $(this).val();
}).val();
console.log(val);
var valid = parseFloat(val) > parseFloat(options[0]) ;
console.log(valid);
return valid;
}, jQuery.validator.format('one of these must bigger than {0}'));
$('#myform').validate({
rules: {
gramsTOT: {
require_from_group: [1, '.notZero'],
greater_than_number: [0, '.notZero']
},
unitsTOT: {
require_from_group: [1, '.notZero'],
greater_than_number: [0, '.notZero']
},
eurcalcTOT: {
require_from_group: [1, '.notZero'],
greater_than_number: [0, '.notZero']
}
}, // end rules
}); // end validate
请参阅演示here