1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/movim_ynh.git synced 2024-09-03 19:46:19 +02:00
movim_ynh/sources/vendor/respect/validation/docs/Call.md
2016-03-14 23:16:11 +01:00

1.2 KiB

Call

  • v::call(callable $callback)

This is a very low level validator. It calls a function, method or closure for the input and then validates it. Consider the following variable:

$url = 'http://www.google.com/search?q=respect.github.com'

To validate every part of this URL we could use the native parse_url function to break its parts:

$parts = parse_url($url);

This function returns an array containing scheme, host, path and query. We can validate them this way:

v::arrayVal()->key('scheme', v::startsWith('http'))
        ->key('host',   v::domain())
        ->key('path',   v::stringType())
        ->key('query',  v::notEmpty());

Using v::call() you can do this in a single chain:

v::call(
    'parse_url',
     v::arrayVal()->key('scheme', v::startsWith('http'))
        ->key('host',   v::domain())
        ->key('path',   v::stringType())
        ->key('query',  v::notEmpty())
)->validate($url);

It is possible to call methods and closures as the first parameter:

v::call([$myObj, 'methodName'], v::intVal())->validate($myInput);
v::call(function($input) {}, v::intVal())->validate($myInput);

See also: