Strategy Pattern for Evolving Validation Rules
When validation rules change frequently, I would avoid a large validator containing nested if/else or switch statements. I would use the Strategy Pattern, where each validation policy is encapsulated behind an interface. The appropriate strategy can then be selected based on product, customer type, version, jurisdiction, or configuration.
Each rule has one responsibility.
New rules can be added without changing the validator.
Rules can be independently unit tested.
Rules can be composed dynamically.
For highly configurable validation, a rules engine or specification pattern may be appropriate.