In this post, Jeff Handley discusses ValidationResults and gives a nice example.
A ValidationResult represents a validation error condition, specifying the error message and, optionally, any member names that the error corresponds to. If you use the [Required] attribute, the [Range] attribute, [StringLength], or any of the other provided ValidationAttribute classes, then ValidationResult instances are created to represent any validation failures.