验证(bassistance插件)所需(依赖回调)问题

时间:2010-02-27 14:02:55

标签: jquery validation

在我的客户注册表格中,我有以下规则

// Define the div containing validation messages
var container = $('#clientErrorWrapper');
// Start validation routine 
// validate the form when it is submitted
var validator = $("#frmEdit").submit(function() {
    // update underlying textarea before submit validation
    tinyMCE.triggerSave();
    }).validate({
    errorContainer: container,
    errorLabelContainer: $("ul", container),
    wrapper: 'li',
    // start rules (add new rules as necessary)
        rules: {
            firstname: {
                required: true
            },
            lastname: {
                required: true
            },
            email: {
                required: true
            },
            address1: {
                required: true
            },
            city: {
                required: true
            },
            state_province: {
                required: function(element) {
                    return $("#country").val() == 'US';
                  }
            },
            postcode: {
                required: true
            },
            country: {
                required: true
            }
    // finish rules
    }

我想扩展state_province规则,以便在国家/地区等于CA或AU时需要此字段,我该如何实现此目标。

1 个答案:

答案 0 :(得分:4)

你可以这样做:

        state_province: {
            required: function(element) {
                var c = $("#country").val();
                return c=='US' || c=='CA' || c=='AU';
              }
        }

除非你的名单变得更长,否则不需要变得更复杂。

如果列表增长,您可以使用jQuery's .inArray()

        state_province: {
            required: function(element) {
                return $.inArray($("#country").val(), ['US','CA','AU']) > -1;
              }
        }
相关问题