Changes to enable validation for objects generated by InputFormatters.

UnitTests + FunctionalTests for the same.
Do you know why this is lazily initialized?