protected function validate(stdClass $data): void
    {
        $config = $this->getConfig();
        $schema = $this->readSchema();

        // No need to validate empty data (empty() does not work on objects)
        $dataArray = Convert::objectToArray($data);
        if (empty($dataArray)) {
            if ($config['allowEmptyData'] === false) {
                throw new JsonValidationException('Empty data is not allowed.');
            }
            $this->warnings[] = "Skipping validation of empty data";

            return;
        }

        // No need to validate with empty schema (empty() does not work on objects)
        $schemaArray = Convert::objectToArray($schema);
        if (empty($schemaArray)) {
            if ($config['allowEmptySchema'] === false) {
                throw new JsonValidationException('Empty schema is not allowed.');
            }
            $this->warnings[] = "Skipping validation with empty schema";

            return;
        }

        $this->runValidator($data, $schema);
    }
protected function validate(stdClass $data): void
    {
        $config = $this->getConfig();
        $schema = $this->readSchema();

        // No need to validate empty data (empty() does not work on objects)
        $dataArray = Convert::objectToArray($data);
        if (empty($dataArray)) {
            if ($config['allowEmptyData'] === false) {
                throw new JsonValidationException('Empty data is not allowed.');
            }
            $this->warnings[] = "Skipping validation of empty data";

            return;
        }

        // No need to validate with empty schema (empty() does not work on objects)
        $schemaArray = Convert::objectToArray($schema);
        if (empty($schemaArray)) {
            if ($config['allowEmptySchema'] === false) {
                throw new JsonValidationException('Empty schema is not allowed.');
            }
            $this->warnings[] = "Skipping validation with empty schema";

            return;
        }

        $this->runValidator($data, $schema);
    }
protected function validate ( stdClass $ data ) : void { $ config = $ this -> getConfig ( ) ; $ schema = $ this -> readSchema ( ) ; // No need to validate empty data (empty() does not work on objects) $ dataArray = Convert :: objectToArray ( $ data ) ; if ( empty ( $ dataArray ) ) { if ( $ config [ 'allowEmptyData' ] === false ) { throw new JsonValidationException ( 'Empty data is not allowed.' ) ; } $ this -> warnings [ ] = "Skipping validation of empty data" ; return ; } // No need to validate with empty schema (empty() does not work on objects) $ schemaArray = Convert :: objectToArray ( $ schema ) ; if ( empty ( $ schemaArray ) ) { if ( $ config [ 'allowEmptySchema' ] === false ) { throw new JsonValidationException ( 'Empty schema is not allowed.' ) ; } $ this -> warnings [ ] = "Skipping validation with empty schema" ; return ; } $ this -> runValidator ( $ data , $ schema ) ; }
Validate the JSON object against the schema.

@param \stdClass $data JSON object.
@throws \Qobo\Utils\ModuleConfig\Parser\JsonValidationException When json validation fails.
@return void
Validate the JSON object against the schema .