Regla not_error: analiza que el/los archivos no se hayan cargado con errores
-Si no es cargado no se controla
@param string $name
@param mixed $value
@return boolean
333808
public function not_error($name, $value){
        if(! $this->not_empty($name, $value)){
            return TRUE;
        }
        $error= 0;
        if($this->isMultiple($value)){
            foreach ($value['error'] as $errorType) {
                if($errorType != 0){
                    $error= $errorType;
                    break;
                }
            }
        }else{
            $error= $value['error'];
        }
        
        if($error == 0){
            return TRUE;
        }else{
            $this->add_message($name, 'error_file' . $error);
            return FALSE;
        }
    }
1181667
public static function hasMessageForError($value)
    {
        if (self::isValidName($value)) {
            $value = self::getNameValue($value);
        }

        return isset(self::$messages[$value]);
    }
139996
protected function not_empty($name, $value){
        if($value === NULL){
            return TRUE;
        }
        if(!is_array($value)){
            if($value === ''){
                $this->add_message($name, 'not_empty');
                return FALSE;
            }
        }else{
            if(count($value) == 0){
                $this->add_message($name, 'not_empty');
                return FALSE;
            }
        }
        return TRUE;
    }
946749
protected function validateConfig($name, $value)
	{
		switch ($name)
		{
			case 'offset':
			case 'totalItems':
				// make sure it's an integer
				if ($value != intval($value))
				{
					$value = 0;
				}
				// and that it's within bounds
				$value = max(0, $value);
			break;

			// validate integer values
			case 'current':
			case 'limit':
			case 'totalPages':
			case 'numberOfLinks':
			case 'uriSegment':
				// make sure it's an integer
				if ($value != intval($value))
				{
					$value = 1;
				}
				// and that it's within bounds
				$value = max(1, $value);
			break;

			// validate booleans
			case 'showFirst':
			case 'showLast':
				if ( ! is_bool($value))
				{
					$value = (bool) $value;
				}
			break;

			// possible alignment values
			case 'align':
				if ( ! in_array($value = strtolower($value), array('left', 'center', 'right')))
				{
					$value = 'center';
				}
			break;

			// validate the link offset, and adjust if needed
			case 'linkOffset':
				// make sure we have a fraction between 0 and 1
				if ($value > 1)
				{
					$value = $value / 100;
				}

				// and that it's within bounds
				$value = max(0.01, min($value, 0.99));
			break;
		}

		return $value;
	}
359996
public static function delete( $name = '', $value = '' ) {

		if ( ! empty( $value ) ) {
			$GLOBALS['_DELETE'][ $name ] = $value;
		}

		if ( empty( $name ) ) {
			return ( isset( $GLOBALS['_DELETE'] ) ) ? $GLOBALS['_DELETE'] : NULL;
		} else {
			return ( isset( $GLOBALS['_DELETE'][ $name ] ) ) ? $GLOBALS['_DELETE'][ $name ] : NULL;
		}

	}
952336
public static function validation($name = false, $value = false) {
		if (!$name && !$value) {
			return self::$validate->getAll();
		}

		return self::$validate->validate($name, $value);
	}
426459
public function isValid($value)
    {
        if (is_null($value)) {
            $result = false;
            $this->error(self::NOT_NULL);
        }
        else
            $result = true;
        return $result;
   }
925853
protected function evalDestination($value, $name)
    {
        $result = ($value === static::VALUE_BROWSER || $value === 'file');
        if ($result === false) {
            $this->pool->messages->addMessage(static::KEY_CONFIG_ERROR . ucfirst($name));
        }

        return $result;
    }
658121
public function setProperty(string $name, $value)
    {
        if (isset($this->properties[$name])) {
            $this->properties[$name] = $value;
            return true;
        }

        return false;
    }
736930
protected function evalIpRange($value, $name)
    {
        $result = empty($value);
        if ($result === true) {
            $this->pool->messages->addMessage(static::KEY_CONFIG_ERROR . ucfirst($name));
        }

        return !$result;
    }
808283
public function containsHeader(string $name, string $value = null): bool
    {
        if ($this->headers->contain($name)) {
            if (null !== $value) {
                return $value === $this->headers[$name];
            }

            return true;
        }

        return false;
    }
329373
private static function checkKey($name, &$value)
    {
        self::checkIsString($name, $value);

        $value = trim($value);

        self::checkIsNotEmpty($name, $value);
    }
1199182
protected function validateNumericArray($name, $value)
    {
        if (!is_array($value) || empty($value) || !$this->isNumeric($value)) {
            throw new \Exception($name . ' must be a non-empty numeric array.');
        }
    }
1066254
private function _set(string $name, $value): bool
	{
		global ${$this->_sGlobal};

		# SKIP
		if(!is_array(${$this->_sGlobal})) { return false; }

		# ASSIGN
		${$this->_sGlobal}[$name] = $value;

		return true;
	}
73703
static function not($value, &$error, $args)
    {
        $not = isset($args[0])? $args[0] : null;
        if ($value==$not){
            $value = null;
            $error = new Error(['Не должно равняться %s', [$not]], 'not');
        }
        return $value;
    }
1014719
protected function date($name, $value, $format){
        //Si no se completo no se valida
        if(! $this->isComplete($value)){
            return TRUE;
        }
        $separator_type= array(
            "/",
            "-",
            "."
        );        
        $separator_used= NULL;
        foreach ($separator_type as $separator) {
            $find= stripos($value, $separator);
            if($find <> FALSE){
                $separator_used= $separator;
            }
        }        
        if($separator_used != NULL){      
            $dato_array= explode($separator_used, $value);
            $valid= FALSE;
            switch ($format){
                case 'Y-m-d':
                    if($separator_used == '-'){
                        $valid= checkdate($dato_array[1], $dato_array[2], $dato_array[0]);
                    }
                    break;
                case 'd-m-Y':
                    if($separator_used == '-'){
                        $valid= checkdate($dato_array[1], $dato_array[0], $dato_array[2]);
                    }
                    break;
                case 'd/m/Y':
                    if($separator_used == '/'){
                        $valid= checkdate($dato_array[1], $dato_array[0], $dato_array[2]);
                    }
                    break;
                case 'Y/m/d':
                    if($separator_used == '/'){
                        $valid= checkdate($dato_array[1], $dato_array[2], $dato_array[0]);
                    }
                    break;
                case 'Y.m.d':
                    if($separator_used == '.'){
                        $valid= checkdate($dato_array[1], $dato_array[2], $dato_array[0]);
                    }
                    break;
                case 'd.m.Y':
                    if($separator_used == '.'){
                        $valid= checkdate($dato_array[1], $dato_array[0], $dato_array[2]);
                    }
                    break;
                default :
                    if($separator_used == '-'){
                        $valid= checkdate($dato_array[1], $dato_array[2], $dato_array[0]);
                    }
                    break;          
            }
        }else{
            $valid= false;
        }
        
        if($valid){
            return TRUE;
        }else{
            $this->add_message($name, 'date', array('format' => $format));
            return FALSE;
        }        
    }
1228223
public function whereNotIn($name, $value = [])
    {

        if (is_callback_function($name)) {
            $name($this);
            return $this;
        }

        $this->must_not[] = ["terms" => [$name => $value]];

        return $this;
    }