Sinn macht das aus Usibility-Sicht immer, meiner Meinung nach.
Immerhin sieht der Benutzer direkt beim Verlassend es Feldes, dass etwas nicht stimmt und das Formular gar nicht erst versenden kann.
Schöner ginge es noch mit JS, weil ich da direkt während der Eingabe schon verifizieren kann, aber das pattern-Attribut kommt dagegen komplett ohne JS aus.
Ich würde das pattern immer einsetzen, wenn es um E-Mail oder bestimmte Formate geht.
Aber wie gesagt: die hauptverantwortliche Prüfung sollte auf dem Server passieren!