Play 2.1 has built-in support for Twitter Bootstrap; if you take that route then Bootstrap Date Picker is a good call for client-side (i.e. ensuring date is sent as yyyy-mm-dd
or other valid date format).
With the client taken care of, server-side Play 2.1 supports JodaTime, so you can bind the post'd form date like so:
object FooForm {
import play.api.data.{Form, Forms}, Forms._
val mapper = mapping(
'fooDate-> jodaDate("yyyy-MM-dd")
)(Foo.apply)(Foo.unapply)
val form = Form( mapper )
}