respect-validation/docs/Call.md
Henrique Moody 9f15c6b6d8
Update documentation with code that works
Some codes in the documentation were not code that actually works which
can lead to some confusion of how to use Validation.

Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2018-06-12 17:27:06 +02:00

1.1 KiB

Call

  • Call(callable $callable, Rule $rule)

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);

Changelog

Version Description
0.3.9 Created

See also: