Deferring validation

The opinions about validation differ from person to person. Some people think it is best practice to immediately show the errors to the users. Others want to defer it to the moment where the user clicks the Save or OK button. Catel supports both "best practices".

Below is a table of properties that can be used to affect the validation deferring.

PropertyValidate immediatelyDefer to a later moment
DeferValidationUntilFirstSaveCallfalsetrue
ValidateModelsOnInitializationtruefalse

If the DeferValidationUntilFirstSaveCall property, is used, it must be set as first property in the view model because the validation kicks in immediately when properties change.