俺も『余計』なものが何なのか気になる。

手入力でも、月に関しては1から12までの数値かどうか。
日に関しても、その月が何日まであるのかと、1からその月にある日の数値かどうか。

セキュリティ上、これらのチェックを行う事を考えると、
手入力だろうとセレクトだろうと同じチェックをしないといけない。
つまりは同一のコードを書くと言う事になると思うんだけど・・・