Proper form validation for ProfileController methods

As the rest, now the ProfileController validates the incoming
POST data and properly sends back the errors to the client.