Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
Some comments / thoughts about the validation api:
a) Why is there a validator lookup service? I don't think we need this in the API - it's a simple OSGI service lookup.
b) A Validator can only validate a single value - what if a property is an array and the validation needs to validate based on all supplied values? Same goes with dependencies between two properties?
c) The Validator interface returns null on success and a String (message) if validation fails. But it can also throw an exception if e.g. the provided value is null. I think a null value should be treated the same as a wrong value. Throwing the exception if some configuration like the regexp for the regexp validator is missing, is fine. but all errors of validating a value should be treated the same.
d) NonExistingTypeException I don't think we need this - IllegalArgumentException is fine to throw from the type enumeration
e) Maybe we can also remove the SlingValidationException - it is only thrown (see c) if a validator does not get its required configuration - which can be seen as an IllegalStateException
f) It would be nice to have a ValidationModelProvider interface - we will then have the current way of defining models as the default implememtation. But can allow other means of defining the validation model
Attachments
Issue Links
- is related to
-
SLING-4777 Decouple the model provider from the actual validation service
- Closed