Jeremy D. Miller as churned out another fantastic post on Domain Centric Validation with the Notification Pattern as part of his “Build your own CAB” series.
This describes putting validation logic in the model code using custom attributes (similar to the Validation Application Block) and the notification pattern to collect the results and pass to other layers. Reading through the example is great way to learn and reinforce concepts like separating concerns and writing testable code.