jQuery验证依赖表达式与数字字段

时间:2013-04-12 09:10:18

标签: jquery jquery-validate numeric

我有这个片段:

<input type="checkbox" name="sal_cart" id="sal_cart">
<input type="text" name="sal_unit_price" id="sal_unit_price" class="required">

sal_unit_price可以是数字或字符串,但始终需要(不能为空) 到目前为止一切顺利。
如果选中sal_cart,则sal_unit_price必须是数字(不再允许字符串)
根据{{​​3}},我说:

$('#form1').validate({
    rules: {
        sal_unit_price: { number: '#sal_cart:checked' },
    },
    messages: {
        sal_unit_price: { number: 'Please fill in a number' },
    }
});

但它不起作用:即使没有选中复选框,它仍然表示它需要一个数字
拜托,你能发现这有什么问题吗?

这是一个小提琴:jQuery Validation dependency-expression

1 个答案:

答案 0 :(得分:1)

您使用的语法仅适用于所需规则,对于您需要更长语法的其他规则,使用 param 依赖属性传递对象

updated fiddle

$('#form1').validate({
    debug: true,
    rules: {
        sal_unit_price: { 
            number: {
                param : true,
                depends: '#sal_cart:checked'
            }
       },
    },
    messages: {
        sal_unit_price: { number: 'Please fill in a number' },
    }
});