io.vertx.ext.web.api.validation

## Interface ParameterValidationRule

-     public interface ParameterValidationRule

  This function is an inner wrapper for ParameterTypeValidator inside ValidationHandler parameter maps. Don't instantiate this class, if you want to add custom ParameterTypeValidator to a parameter use functions in `HTTPRequestValidationHandler`
  Author:
    Francesco Guardiani @slinkydeveloper

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `allowEmptyValue()` allowEmptyValue is used in query, header, cookie and form parameters.
    `String` | `getName()` This function return the name of the parameter expected into parameter lists
    `boolean` | `isOptional()` Return true if parameter is optional
    `ParameterTypeValidator` | `parameterTypeValidator()` Return ParameterTypeValidator instance used inside this parameter validation rule
    `RequestParameter` | `validateArrayParam(List<String> value)` This function will be called when there is a List that need to be validated.
    `RequestParameter` | `validateSingleParam(String value)` This function will be called when there is only a string as parameter.

- - ### Method Detail

    - #### getName

          String getName()

      This function return the name of the parameter expected into parameter lists
      Returns:
        name of the parameter

    - #### validateSingleParam

          RequestParameter validateSingleParam(String value)
                                        throws ValidationException

      This function will be called when there is only a string as parameter. It will throw a ValidationError in an error during validation occurs
      Parameters:
        `value` - list of values that will be validated
      Throws:
        `ValidationException`

    - #### validateArrayParam

          RequestParameter validateArrayParam(List<String> value)
                                       throws ValidationException

      This function will be called when there is a List that need to be validated. It must check if array is expected or not. It will throw a ValidationError in an error during validation occurs
      Parameters:
        `value` - list of values that will be validated
      Throws:
        `ValidationException`

    - #### isOptional

          boolean isOptional()

      Return true if parameter is optional
      Returns:
        true if is optional, false otherwise

    - #### parameterTypeValidator

          ParameterTypeValidator parameterTypeValidator()

      Return ParameterTypeValidator instance used inside this parameter validation rule
      Returns:

    - #### allowEmptyValue

          boolean allowEmptyValue()

      allowEmptyValue is used in query, header, cookie and form parameters. This is its behaviour:
      1. During validation, the ValidationHandler check if there's a parameter with combination of location and name as defined in this rule
      2. If it not exists, It will check allowEmptyValue and if there's a default value set inside ParameterTypeValidator:
      - If this condition it's true, It marks as validated the parameter and returns the default value (inside RequestParameter)
      - If this condition it's false, It throws ValidationException
      3. If the parameter exists, It checks if parameter is null or empty string:
      - If allowEmptyValue it's true, It marks as validated the parameter and returns the default value if it exists (inside RequestParameter)
      - If allowEmptyValue it's false, It throws ValidationException
      Returns:
        value of allowEmptyValue

Copyright © 2020 Eclipse. All rights reserved.