jquery-validate:验证两个字段的总和是否大于X.

时间:2013-10-25 15:35:20

标签: jquery jquery-validate

我正在使用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);
                 }
               }
      }
    }
   });
 });

我没有成功实现此验证。有人可以帮忙吗?

非常感谢提前!

1 个答案:

答案 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,参数为5range: [1, 5][1, 5]


另请参阅以下答案以获取更多示例:

https://stackoverflow.com/a/19096923/594235

https://stackoverflow.com/a/15594795/594235