walidacja jQuery - jak sprawdzić poprawność jednego pola za pomocą dwóch reguł XOR

Mam jedno pole, które może zawierać e-mail lub telefon komórkowy (w moim przypadku komórka ma 8 cyfr). Próbowałem już dwóch podejść (oba przykłady nie działają, ponieważ „element” nie ma metody sprawdzania poprawności):

Pierwsze podejście: stwórz niestandardową metodę i wykonaj obie walidacje tam, ale potem muszę utworzyć własną weryfikację e-mail i mobilną - nie mogłem znaleźć sposobu na ponowne użycie reguł walidacji jQuery w nowych metodach. Oto, co chciałbym mieć:

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");

Drugie podejście: utwórz reguły zależne. Również w tym przypadku nie udało mi się znaleźć sposobu na ponowne użycie reguł walidacji 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