do_validation($rule, $instance_value)) { return false; } } return true; } /** * Validate the value of key * * @access private * @param string $rule Insert the rule name you want to use for validation. * @param string $instance_value The value you want to validate. * @return string Return the value validated */ public function do_validation($rule, $instance_value = '') { switch ($rule) { // case 'ctype_alpha': // return ctype_alpha( $instance_value ); // break; // case 'ctype_alnum': // return ctype_alnum( $instance_value ); // break; case 'alpha_dash': return preg_match('/^[a-z0-9-_]+$/', $instance_value); break; // case 'ctype_digit': // return ctype_digit( $instance_value ); // break; // case 'integer': // is_int // return (bool) preg_match( '/^[\-+]?[0-9]+$/', $instance_value ); // break; // case 'boolean': // return is_bool( $instance_value ); // break; // case 'email': // return is_email( $instance_value ); // break; // case 'decimal': // is_float // return (bool) preg_match( '/^[\-+]?[0-9]+\.[0-9]+$/', $instance_value ); // break; // case 'natural': // is_numeric // return (bool) preg_match( '/^[0-9]+$/', $instance_value ); // return; case 'natural_not_zero': if (! preg_match('/^[0-9]+$/', $instance_value)) { return false; } if (0 === $instance_value) { return false; } return true; return; default: if (method_exists($this, $rule)) { return $this->$rule($instance_value); } elseif (is_callable($rule)) { call_user_func($rule, $instance_value); } else { return false; } break; } } }