Play documentation is the best way to learn about forms
https://www.playframework.com/documentation/2.1.1/ScalaForms if you want more then, please have a look at play-example-form project.
http://typesafe.com/activator/template/play-example-form This activator example project on forms explains everything about forms.
1) It explains forms and data binding, validation in the play controller.
2) It explains about Optional parameters in the forms.
3) It explains about complex forms with nested objects for example
case class Student(name: String, age: Int, gender: Optional[Char] = None,
address: Address, other: OtherStuff)
The above case class depends on Address, OtherStuff and
notice that the gender is optional. The example project explains how to deal with such complex object dependencies.
Please download activator from here http://typesafe.com/get-started . then, start the activator in browser UI mode using the command activator ui and type play-example-form in the search to download it. After downloading go to the project root folder and type activator eclipse in case you use eclipse or activator gen-idea in case you Intellij Idea.