A Regex abaixo que se encontra no vídeo requer que a senha tenha entre 6 e 30 caracteres e não entre 8 e 30 como descrito!
@Matches(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*\W+)(.{6,30})$/, {
message: 'A senha deve conter pelo menos uma letra minúscula, uma letra maiúscula, um dígito, um caractere especial e ter entre 8 e 30 caracteres',
})
senha: string;
Para que a senha tenha entre 8 e 30 caracteres a Regex correta é essa:
@Matches(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*\W+)(.{8,30})$/, {
message: 'A senha deve conter pelo menos uma letra minúscula, uma letra maiúscula, um dígito, um caractere especial e ter entre 8 e 30 caracteres',
})
senha: string;