我正在使用jquery-validate,我正在尝试验证两个字段( participant_adults 和 participantats_child )的值是否大于X(数字)。作为额外的挑战,第二个字段( participats_child )可能存在也可能不存在,因此如果它不存在,则验证应仅考虑第一个字段( participats_adults )
我有这个HTML:
<select name="participants_adults" class="valid">
<option>1</option>
<option>2</option>
<option>3</option>
</select>
<select name="participants_child" class="valid">
<option>0</option>
<option>1</option>
<option>2</option>
</select>
到目前为止我的jQuery代码是这样的:
<script>
$(document).ready(function(){
$('#booking_form').validate({
rules: {
participants_adults: {
required: {
depends: function(element) {
return (parseInt($('[name="participants_adults"]').val()) + parseInt($('[name="participants_child"]').val()) > 2);
}
}
}
}
});
});
我没有成功实现此验证。有人可以帮忙吗?
非常感谢提前!
答案 0 :(得分:2)
创建自定义方法using addMethod
as per the documentation而不是条件规则。
jQuery.validator.addMethod("myMethod", function(value, element, params) {
// your function
// return false to display the error message
// return true to pass validation
}, "this is the error message");
函数的参数定义如下:
<强>值强>
类型:字符串
验证元素的当前值
<强>元素强>
类型:元素
要验证的元素
<强> PARAMS 强>
类型:字符串
为该方法指定的参数,例如对于min: 5
,参数为5
,range: [1, 5]
为[1, 5]
另请参阅以下答案以获取更多示例: