Enabling validation is a two steps process:
- implement on user ViewModel(s) the
IRequireValidation interface (it behaves like a marker interface as it's already fully implemented on the base abstract view model
- set the desired validation service, e.g. DataAnnotationValidationService
Could be interesting to evaluate the impact of removing the need for step 1, the result is that WPF will always invoke the validation process that being by default implemented using the NullValidationService will yield no errors but simply consume a few CPU cycles. The pro is that implementing validation would be much simpler for users.