public function validate($args)
    {
        $matched = false;

        //validates arguments
        foreach ($args as $arg => $value) {
            //non-named option are skipped from validation
            if (is_numeric($arg)) continue;
            //validates action options
            foreach ($this->options as $option) {
                //checks if options matches specified parameter
                if ($option->matchParam($arg)) {
                    //validates option
                    if (!$option->validate($value)) {
                        throw new InvalidArgumentException($arg, $value);
                    }
                    $matched = true;
                }
            }
            if (!$matched) {
                throw new InvalidOptionException($arg);
            }
        }
        //validates required options
        foreach ($this->options as $option) {
            if (!$option->isRequired()) {
                continue;
            }

            if (!$option->getValue($args)) {
                throw new MissingRequiredArgumentException($option->getName());
            }
        }

        return true;
    }
public function validate($args)
    {
        $matched = false;

        //validates arguments
        foreach ($args as $arg => $value) {
            //non-named option are skipped from validation
            if (is_numeric($arg)) continue;
            //validates action options
            foreach ($this->options as $option) {
                //checks if options matches specified parameter
                if ($option->matchParam($arg)) {
                    //validates option
                    if (!$option->validate($value)) {
                        throw new InvalidArgumentException($arg, $value);
                    }
                    $matched = true;
                }
            }
            if (!$matched) {
                throw new InvalidOptionException($arg);
            }
        }
        //validates required options
        foreach ($this->options as $option) {
            if (!$option->isRequired()) {
                continue;
            }

            if (!$option->getValue($args)) {
                throw new MissingRequiredArgumentException($option->getName());
            }
        }

        return true;
    }
public function validate ( $ args ) { $ matched = false ; //validates arguments foreach ( $ args as $ arg => $ value ) { //non-named option are skipped from validation if ( is_numeric ( $ arg ) ) continue ; //validates action options foreach ( $ this -> options as $ option ) { //checks if options matches specified parameter if ( $ option -> matchParam ( $ arg ) ) { //validates option if ( ! $ option -> validate ( $ value ) ) { throw new InvalidArgumentException ( $ arg , $ value ) ; } $ matched = true ; } } if ( ! $ matched ) { throw new InvalidOptionException ( $ arg ) ; } } //validates required options foreach ( $ this -> options as $ option ) { if ( ! $ option -> isRequired ( ) ) { continue ; } if ( ! $ option -> getValue ( $ args ) ) { throw new MissingRequiredArgumentException ( $ option -> getName ( ) ) ; } } return true ; }
Validates current action options

@param array $args
@throws Exception\MissingRequiredArgumentException
@throws Exception\InvalidArgumentException
@throws Exception\InvalidOptionException
@return bool
Validates current action options