Validate with validation error events |
This sample validates a JObject using the IsValid(JToken, JsonSchema) extension method and raises an event for each validation error.
Caution |
---|
Obsolete. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. |
string schemaJson = @"{ 'description': 'A person', 'type': 'object', 'properties': { 'name': {'type':'string'}, 'hobbies': { 'type': 'array', 'items': {'type':'string'} } } }"; JsonSchema schema = JsonSchema.Parse(schemaJson); JObject person = JObject.Parse(@"{ 'name': null, 'hobbies': ['Invalid content', 0.123456789] }"); IList<string> messages = new List<string>(); ValidationEventHandler validationEventHandler = (sender, args) => { messages.Add(args.Message); }; person.Validate(schema, validationEventHandler); foreach (string message in messages) { Console.WriteLine(message); } // Invalid type. Expected String but got Null. Line 2, position 21. // Invalid type. Expected String but got Float. Line 3, position 51.