The validation service is again a multi-handler service with no action methods. Its purpose is to standardize validating a value against a given type and a known default before using it in your code. It provides these public methods:
validate_valuewhich is just a central hub for calling the other methods
validate_boolean_valuefor turning a value into a boolean or returning the default
validate_integer_valuefor turning a value into an integer or returning the default
validate_float_valuefor turning a value into a float or returning the default
validate_callback_valuefor checking whether a value is a valid callback or returning the default
validate_supported_valuefor checking whether a value is part of a supported list of values or returning the default
As you're probably expecting by now, all of these methods simply pass on the parameters to a given handler. The handler is free to decide what to do with those values -- the only non-negotiable aspect of this all is the return type of the validation operation. A boolean validation must return a boolean value.
There is just one type of handler pre-packaged with the module and that is the so-called container validation handler. Basically this handler expects to be provided with a PSR-11-compatible container that contains exactly two 2 keys:
options. Both keys should store an array. The former array is used for returning the default values and the latter for checking for supported options (for the supported value validation). The actual type validation is performed using the validation helpers from the Helpers Module.
If you need a different logic, you may use your own custom handler that implements the