estaba comparando mi ejercicio (que ahora adjunto) con el tuyo, pues no conseguía que me funcionara correctamente el "pattern".
Por fin lo resolví, pero he visto que en el tuyo hay el problema que me pasaba a mí. Así me permito explicarte como lo resolví yo. ;)
Si te fijas en tu archivo, cuando tratas de poner más de 8 caracteres aparece el mensaje "utiliza un formato que coincida con el solicitado". Sólo puedes poner 8 caracteres, ni más ni menos, mientras el ejercicio decía "mínimo 8 caracteres". Y otra cosa: si pones 8 caracteres, pero en uno por ejemplo pones un guion (por ejemplo: 123-4567) tampoco lo acepta.
...a mí me pasaba lo mismo, después de mucha búsqueda por fin he encontrado la solución:
- Para poner un número de caracteres mínimos hay que poner una coma: {8,} <--esto significa "mínimo 8"
- Para que acepte el guión, el guión bajo y el punto (y números y letras mayúsculas y minúsculas), tienes que ponerlo así: [A-Za-z0-9-._]
....me he pasado casi una hora buscando esto y por fin ahora me funciona!
Aprovecho y dejo aquí mis ejercicios también.