Uploaded image for project: 'Sling'
  1. Sling
  2. SLING-4027

Improvement of the validation API

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • Validation 1.0.0
    • Validation
    • 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

          Activity

            People

              kwin Konrad Windszus
              cziegeler Carsten Ziegeler
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: