Para validar formularios siempre es aconsejable utilizar expresiones regulares, ya que simplifcan la cantidad de codigo.-
Aca te paso la funcion que hice para validar fechas.-
function esFecha(fechaentexto){
rf = new RegExp("^([0-2][0-9]|3[0|1])\/(0[1-9]|1[1|2])\/(20[0-3][0-9])$")
bEsFecha = rf.test(fechaentexto)
if(bEsFecha){
valores = rf.exec(fechaentexto)
bEsFecha = !(valores[1]==31 && (valores[2]==04 || valores[2]==06 || valores[2]==09 || valores[2]==11))
bEsFecha = bEsFecha && !(valores[2]==2 && (valores[1]>29 || (valores[1]==29 && valores[3]%4 > 0)))
}
return bEsFecha
}
Exitos.