Add support to create validations for content type fields

Update the documentation.
This is a turning into an if/else monster. We should refactor this and extract some nicer methods from it.
The method just contains too much logic.