nfx-serialization 0.3.0
Cross-platform C++ JSON serialization library with extensible trait capabilities
Loading...
Searching...
No Matches
SchemaValidator.h File Reference

JSON Schema validation for Document instances. More...

#include <optional>
#include <string>
#include <string_view>
#include <vector>
#include "Document.h"
Include dependency graph for SchemaValidator.h:

Go to the source code of this file.

Classes

class  nfx::serialization::json::ValidationError
 Represents a single JSON schema validation error. More...
struct  nfx::serialization::json::ValidationError::ErrorEntry
 Simple error entry structure for convenient ValidationError construction. More...
class  nfx::serialization::json::ValidationResult
 Result of JSON schema validation operation. More...
class  nfx::serialization::json::SchemaValidator
 JSON Schema validator for Document instances. More...
struct  nfx::serialization::json::SchemaValidator::Options
 Configuration options for validation. More...

Enumerations

enum class  nfx::serialization::json::SchemaDraft {
  Unknown ,
  Draft04 ,
  Draft06 ,
  Draft07 ,
  Draft201909 ,
  Draft202012
}
 Enumeration of supported JSON Schema draft versions. More...

Detailed Description

JSON Schema validation for Document instances.

Provides JSON Schema Draft 2020-12 validation capabilities for verifying Document structure, types, constraints, and business rules against schema definitions. Supports comprehensive validation with detailed error reporting and path tracking.

Definition in file SchemaValidator.h.

Enumeration Type Documentation

◆ SchemaDraft

Enumeration of supported JSON Schema draft versions.

Used to identify and track which JSON Schema draft version a schema conforms to. Detection is based on the $schema keyword in the schema document.

Enumerator
Unknown 

Schema draft version is not recognized or not specified.

Draft04 

JSON Schema Draft 4.

Draft06 

JSON Schema Draft 6.

Draft07 

JSON Schema Draft 7.

Draft201909 

JSON Schema Draft 2019-09.

Draft202012 

JSON Schema Draft 2020-12 (current).

Definition at line 274 of file SchemaValidator.h.