. */ require_once 'ValidationEngine.php'; require_once 'ValidationRule.php'; require_once 'ValidationParameter.php'; require_once 'ValidationError.php'; require_once 'ValidationException.php'; require_once 'DataType.php'; require_once 'DataTypeRestriction.php'; require_once 'handler' . DIRECTORY_SEPARATOR . 'ConfigurationHandlerInterface.php'; /** * Class Maarch IVS * * @package MaarchIVS */ class MaarchIVS { /** * Constants for configuration encoding */ const CONF_JSON = 'json'; const CONF_XML = 'xml'; const CONF_PHP = 'php'; /** * Constants for error modes */ const ERRMODE_SILENT = 'silent'; const ERRMODE_ERROR = 'error'; const ERRMODE_EXCEPTION = 'exception'; /** * The validation engine * @var ValidationEngine */ protected static $validationEngine; /** * Start the validation engine and set configuration * @param mixed $configuration The configuration in one of the handled encodings * @param string $configurationType The name of the configuration encoding * * @return bool */ public static function start($configuration, $configurationType) { self::$validationEngine = new ValidationEngine(); self::$validationEngine->setConfigurationHandler($configurationType); self::$validationEngine->loadConfiguration($configuration); return true; } /** * Run the validation engine and return result * @param string $errorMode The mode of error reporting * * @return bool */ public static function run($errorMode='silent') { self::$validationEngine->setErrorMode($errorMode); return self::$validationEngine->validate(); } /** * Get the validation engine errors * * @return array */ public static function debug() { return self::$validationEngine->getInfo(); } }