Tu misma implementación también es incorrecta. Ya que en este caso, sólo mostrará el mensaje de error si el formato es inválido, pero no si el mes o el día son incorrectos. La lógica podría ser:
Código javascript
:
Ver originalif (formato_correcto) {
if (dia_mes_correcto) {
return true;
}
}
// Incorrecto
return false;