Podría ser que quisieras aceptar vários formatos de fecha .. con un separador como - o / .. o con el año al principio .. en fin .. con una expresión regular por lo menos validarías si el formato es de los que aceptas .. De todas formas hay que usar checkdate() para validar una vez "desglosado" la fecha si es válida de "calendario".
Un saludo,