If it would be helpful you could look into integrating Validator - Athena. Follows a similar pattern of having classes to represent the constraints, but also supports multiple violations at once, among other features.
If it would be helpful you could look into integrating Validator - Athena. Follows a similar pattern of having classes to represent the constraints, but also supports multiple violations at once, among other features.