$password = self::$validator->isString('password');
        $result = $password->isRequired()->isBetween(5, 72, true)->isAlphanumeric()->validate($request->password);
        $this->isValid = $this->isValid && $result;
        $this->errors = array_merge($this->errors, $password->getErrors());
    }
    /**
     * Validates is a username has alphanumeric values and is between 3 to 12 characters long.
     *
     * @param Request $request
     *
     * @return boolean|null
     */
    private function validateUsername(Request $request)
    {
        $username = self::$validator->isString('username');
        $result = $username->isRequired()->isAlpha()->isBetween(4, 12, true)->validate($request->username);
        $this->isValid = $this->isValid && $result;
        $this->errors = array_merge($this->errors, $username->getErrors());
    }
}
$userValidator = new UserValidator();
$request1 = new Request('nilportugues', 'password', '*****@*****.**', '1');
$request2 = new Request('nil', 'password', 'not-an-email.com', '');
var_dump($userValidator->validate($request1));
//true
print_r($userValidator->getErrors());
//no errors
var_dump($userValidator->validate($request2));
//false
print_r($userValidator->getErrors());
//array with errors