Java Validation Framework (not a JSR-303 implementation). This framework allows to modify (correct) test values; supports validation of localized values; allows to convert values into and from text representation; formats error messages, depending on the context; supports metadata, which allows to check any entity types (not only Java Beans or POJOs) and more. Also this framework has long list of predefined validation components.