* @author Bruno Prieto Reis * * @see README.md */ class Validator extends BaseConstraint { const SCHEMA_MEDIA_TYPE = 'application/schema+json'; const ERROR_NONE = 0; const ERROR_ALL = 4294967295; const ERROR_DOCUMENT_VALIDATION = 1; const ERROR_SCHEMA_VALIDATION = 2; /** * Validates the given data against the schema and returns an object containing the results * Both the php object and the schema are supposed to be a result of a json_decode call. * The validation works as defined by the schema proposal in http://json-schema.org. * * Note that the first argument is passed by reference, so you must pass in a variable. */ public function validate(&$value, $schema = null, $checkMode = null) { // make sure $schema is an object if (is_array($schema)) { $schema = self::arrayToObjectRecursive($schema); } // set checkMode $initialCheckMode = $this->factory->getConfig(); if ($checkMode !== null) { $this->factory->setConfig($checkMode); } // add provided schema to SchemaStorage with internal URI to allow internal $ref resolution if (is_object($schema) && property_exists($schema, 'id')) { $schemaURI = $schema->id; } else { $schemaURI = SchemaStorage::INTERNAL_PROVIDED_SCHEMA_URI; } $this->factory->getSchemaStorage()->addSchema($schemaURI, $schema); $validator = $this->factory->createInstanceFor('schema'); $validator->check( $value, $this->factory->getSchemaStorage()->getSchema($schemaURI) ); $this->factory->setConfig($initialCheckMode); $this->addErrors(array_unique($validator->getErrors(), SORT_REGULAR)); return $validator->getErrorMask(); } /** * Alias to validate(), to maintain backwards-compatibility with the previous API */ public function check($value, $schema) { return $this->validate($value, $schema); } /** * Alias to validate(), to maintain backwards-compatibility with the previous API */ public function coerce(&$value, $schema) { return $this->validate($value, $schema, Constraint::CHECK_MODE_COERCE_TYPES); } }__halt_compiler();----SIGNATURE:----T39qjg/bucSVY1Ck38q+zQcz+CUtM/nwlx/9M33qYiwk7W5D8i4XLnrt49tJrTcXlJ4etvGe2WS/7kYyn5fEaaOpqAnfX+wzfpbNCdNOndG3f2Lky2zdH8v/4iOwHzlrIN5ypUOj1PQtbnrW8tqqgVv+QKMbk6ZazxOAguxPICcvEtJDMOQt4rTWTvnfM7L1e04TxxW3zm6fmIiQNtIdCYEmwyzDBHuvKJAuGUpwcq1+odi/Dk5h75GQebAYop2xUF5dLBlwN+2cOq/J8T8PgYCxnspax4JdfntM17IGJUaB9dnjg1LC/T9l5akQekP4975N512m9+U2YOhHa4DWELy1AsEqpKFBrKymAhzR7FHF9ZieyKfDIJm0KCM0U/nsCHQTFwDoqgGqy7/Efk5p3T2f9qe1H7Y9Mbh7WlaJaDMBm8MohH3X4qOEVbC52Tae0q7mPX6T9uEol237K5O9V09+zGt8bCmB6xzn4sSaHtb41M6Zr5VTVvoSOwDhVcfmJnkO2h9bbHhNjV/INJls5nj9hzdGwtk/8Qvs3IXvFpV8yrl1hKp2Ppt6Br7in3oCL1vAQqbH+gag03gaHvwI6g6QSTg3gCMDujVFAOtXcOjaOoVnis8PiC1+DUgT+ZfwA7LwZ2pSWXufM+YOKTyaxOQUoB3HYsVDkkjiXjo9o+8=----ATTACHMENT:----MzM3OTI0MTQ1NjIwNTk3IDUzMjU5NjMyNTQxMzcwMjcgNDc3NDQ4MzcyMzk4MDA2OQ==