jQuery-Validation-Engine仅在另一个字段的值为x或y时才需要

时间:2013-03-25 10:01:46

标签: jquery-validation-engine

    "requiredInFunction": {
                "regex": "none",
                "func": function(field, rules, i, options){
                    if (field.val() === '' && $('#CartItem_vision').val()==="Progressive") {
                        return false;

                    }
                    if (field.val() === '' && $('#CartItem_vision').val()==="Bifocal")
                    {
                        return false;
                    }
                    else
                    {
                        return true;
                    }
                },
                "alertText": "Addition is Required"
            },

验证[定制[requiredInFunction]]

此验证无效。

除非我输入validate [required,custom [requiredInFunction]],但即使CartItem_vision不是“Progressive”或“Bifocal”,它也会变得必需。如果值为“Progressive”或“Bifocal”,我希望它们只是必需的。

1 个答案:

答案 0 :(得分:1)

在您的功能中,您可以添加

rules.push('required');

像这样:

function checkCell(field, rules, i, options){
    if ($('#cellNum').val().length > 0 && field.val().length == 0) {
        rules.push('required'); 
        return "Provider necessary with phone number";
    }
}

这意味着如果填充了#cellNum,那么提供者是必要的。 初始化是:

<select name="provider" id="provider" class="validate[funcCall[checkCell]">