No, this isn't something that's doable with FluentValidation.
FluentValidation is designed to validate pre-populated object instances, typically view-models that directly represent the input that the user has entered in your UI. You'd then validate the object as a whole, which gives the advantage of being able to do cross-property validation for example.
The approach you're trying to achieve looks like the type of validation that you'd more typically apply to a domain entity, which shouldn't even be allowed to exist in an invalid state (hence the guard checks within the property setters). These are two different approaches to validation which you'd typically apply to different type of objects...FluentValidation isn't designed to work with the latter, so if this is the approach you want then you'd probably be better off using a different library for validation.
Jeremy
FluentValidation is designed to validate pre-populated object instances, typically view-models that directly represent the input that the user has entered in your UI. You'd then validate the object as a whole, which gives the advantage of being able to do cross-property validation for example.
The approach you're trying to achieve looks like the type of validation that you'd more typically apply to a domain entity, which shouldn't even be allowed to exist in an invalid state (hence the guard checks within the property setters). These are two different approaches to validation which you'd typically apply to different type of objects...FluentValidation isn't designed to work with the latter, so if this is the approach you want then you'd probably be better off using a different library for validation.
Jeremy