提交前的条件Jquery验证

时间:2016-08-05 23:47:52

标签: jquery validation

我使用Jquery验证插件相当新,所以这就是我尝试做的事情。有两组地址。一个是物理地址字段,另一个是邮寄地址字段。

如果用户填写物理地址字段,则选中该框 - 邮件地址是否与物理地址相同?如果是,则禁用 - 灰色框。

提交表格时数据很好。

我挣扎的是,如果用户取消选中该框,则必须填写字段并提交表单。它应该保存。所以我为jquery插件创建了一个自定义验证,如下所示:

$('form').validate({


    rules: {

        ResidentalMailing: { validateMailing: true }

    },
    messages: {
        ResidentalMailing: {
            required: "You must fill in the mailing address if it is not the same as the physical address."

        }
    }


});

实际自定义验证器:

jQuery.validator.addMethod("validateMailing", function(value, element) {

        // if it is unchcked
        if (!$('#ResidentalMailing').is(':checked')) {

            // change each field to yellow
            $(".mailingaddy").each(function () {

                $(this).css('background-color', '#ffff00');

            });

            // if the first field has a vlue of greater than one - data is there.
            if ($('#Address1').val().length > 0) {

                // it's okay to submit
                return true;

            }

            // it's not okay to submit.
            return false;

        } else {

            // if chcked.
            $(".mailingaddy").each(function () {

                // remove the yellow back ground
                $(this).css('background-color', 'transparent');
                // set it to grayed out/disabled
                $(this).attr("disabled", true);

            });

            // it's okay to submit.
            return true;

        }

}, "You must fill in the mailing address fields.");

我不确定我错过了什么。我尝试了依赖路线,但它没有用。

简而言之 - 我只是在符合某些条件的情况下才允许提交......

0 个答案:

没有答案