使用If进行表单验证

时间:2016-12-19 07:00:06

标签: javascript jquery validation

我必须验证这样的表单:

$('#formfile').validate({
    highlight: function(element) {
        $(element).closest('.form-group').addClass('has-error');
    },
    unhighlight: function(element) {
        $(element).closest('.form-group').removeClass('has-error');
    },
    ignore: '',
    //focusInvalid: true,
    errorElement: 'span',
    errorClass: 'help-block',
    errorPlacement: function(error, element) {
        if(element.parent('.input-group').length) {
            error.insertAfter(element.parent());
        } else {
            error.insertAfter(element);
        }
        element.focus();
    },
    rules: {
        if(country == "INDONESIA") {
            tax: {
                required: true              
            }
        }
    },
    messages: {
        if(country == "INDONESIA") {
            tax: "Please insert file Tax"
        }
    }
});

我能这样做吗?我想检查Country是否是印度尼西亚,如果Country是印度尼西亚,则该字段必须是强制性的。否则,如果Country不是印度尼西亚,则可以忽略该字段。有什么建议吗?

编辑:我忘了我使用变量来获取国家/地区 - var Country = $('#country').val();

2 个答案:

答案 0 :(得分:0)

试试这个;)

您可以使用depends

...
    rules: {
        tax: {
            required: {
                depends: function(element) {
                    return ($('#country').val() == 'INDONESIA');
                }
            }
        }
    }
...

Jquery validate depend field

答案 1 :(得分:0)

您可以使用内联条件运算符来执行此操作:

        rules: {
            country=="INDONESIA" ? 
              {
                  tax: {
                      required: true              
                  }
              } 
              : { }