vertx / io.vertx.ext.web.api.validation / ParameterValidationRule

ParameterValidationRule

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

Functions

allowEmptyValue

abstract fun allowEmptyValue(): Boolean

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

getName

abstract fun getName(): String

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

isOptional

abstract fun isOptional(): Boolean

Return true if parameter is optional

parameterTypeValidator

abstract fun parameterTypeValidator(): ParameterTypeValidator

Return ParameterTypeValidator instance used inside this parameter validation rule

validateArrayParam

abstract fun validateArrayParam(value: MutableList<String>): RequestParameter

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

validateSingleParam

abstract fun validateSingleParam(value: String): RequestParameter

This function will be called when there is only a string as parameter. It will throw a ValidationError in an error during validation occurs