As explained in http://erichauser.net/tag/validator/, ValidateSelf enables you to express validations in code. I know writing a custom attribute is not difficult, but why go into all that trouble just for one off validations.
I can't help the feeling that validation by attributes is that much simpler than old method of writing a long list of 'if' statements, especially when validation requires more than one property.