jQuery validate - como validar um campo com duas regras XOR

Eu tenho um campo que pode conter e-mail ou celular (no meu caso, o celular tem 8 dígitos). Eu já tentei duas abordagens (os dois exemplos não funcionam, porque 'element' não tem o método validate):

Primeira abordagem: crie um método personalizado e faça as duas validações lá, mas depois tenho que criar meu próprio e-mail e validação móvel - não consegui encontrar uma maneira de reutilizar as regras de validação do jQuery em novos métodos. Isso é o que eu gostaria de ter:

jQuery.validator.addMethod("mobileoremail", function(value, element) {
        return this.optional(element) || 
               element.validate({ rules: { digits: true, rangelength: [8, 8] } }) || 
               element.validate({ rules: { email: true } });
    }, "Invalid mobile or email");

Segunda abordagem: crie regras dependentes. E também neste caso não consegui encontrar uma forma de reutilizar as regras de validação do jQuery.

{ myRules: {
            rules: {
                user: {
                    required: true,
                    email: {
                        depends: function(element) {
                            return !element.validate({ rules: { mobile: true } });
                        }
                    },
                    mobile: {
                        depends: function (element) {
                            return !element.validate({ rules: { email: true } });
                        }
                    }
                }
            }
        }
    }

questionAnswers(1)

yourAnswerToTheQuestion