JSON::...sertion(3pm)
πΈ NAME πΈ
okay so π welcome to the manual page for JSON::Schema::Modern::Vocabulary::FormatAssertion β that's the JSON::...sertion(3pm) page you see truncated at the top, straight outta the User Contributed Perl Documentation. It's the implementation of the JSON Schema Format-Assertion vocabulary, and yes it eats π
β¨ VERSION β¨
version 0.642
so the versioning scheme here is linearly-increasing β meaning it just goes up one at a time, no lore, no hidden meaning. No meaning should be presumed or inferred from the version being less than 1.0. it says nothing bestie, literally nothing π
π¦ DESCRIPTION π¦
This module is the implementation of the JSON Schema Draft 2020-12 "Format-Assertion" vocabulary, which metaschemas point at with the URI https://json-schema.org/draft/2020-12/vocab/format-assertion, and which is formally specified right here: <https://json-schema.org/draft/2020-12/json-schema-validation.html#section-7>. slay π
Support is also provided for the following, and no we did not forget them:
- the equivalent Draft 2019-09 keyword, which metaschemas indicate with the URI
https://json-schema.org/draft/2019-09/vocab/format, formally specified here: <https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-02#section-7>. - the equivalent Draft 7 keyword, as formally specified here: <https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-01#section-7>.
- the equivalent Draft 6 keyword, as formally specified here: <https://json-schema.org/draft-06/draft-wright-json-schema-validation-01#rfc.section.8>.
- the equivalent Draft 4 keyword, as formally specified here: <https://json-schema.org/draft-04/draft-fge-json-schema-validation-00#rfc.section.7>.
Assertion behaviour can be enabled by /json-schema.org/draft/2020-12/json-schema-core.html#rfc.section.8.1.2/referencing this vocabulary explicitly in https: in a metaschema's $vocabulary keyword β or by toggling the validate_formats option in JSON::Schema::Modern. your choice bestie, both work π
Here's the vibe check on how formats behave π
When the Format-Annotation vocabulary is specified (which, btw, is the default for the draft2020-12 metaschema) and it's combined with the validate_formats option set to true:
- formats that aren't implemented will silently validate β sneaky, no drama
- but implemented formats will validate completely, full main character energy
note that some formats need optional module dependencies, and if those modules aren't there, you get an error. so like, keep your deps installed bestie π
When this vocabulary β the Format-Assertion one β is specified, it's a whole different story: unimplemented formats will generate an error on use. no silent passes, periodt.
Wanna override a particular format implementation, or add a brand new one? That's done through format_validations in JSON::Schema::Modern. go off π«Ά
and finally: format uri-template is not yet implemented. using this format will always result in an error. no cap, every single time π
π SEE ALSO π
- "Format Validation" in
JSON::Schema::Modern JSON::Schema::Modern::Vocabulary::FormatAnnotation
π GIVING THANKS π
if you found this module useful (and bestie, we hope you did π₯Ί), please show your appreciation by dropping a +1 on MetaCPAN <https://metacpan.org/dist/JSON-Schema-Modern> and starring it on GitHub <https://github.com/karenetheridge/JSON-Schema-Modern>. it costs you nothing and it makes the author's whole day, iykyk β¨
π«Ά SUPPORT π«Ά
Bugs may be submitted through <https://github.com/karenetheridge/JSON-Schema-Modern/issues>.
The author is also usually active on irc, hanging out as 'ether' at irc.perl.org and irc.libera.chat.
You can also find them on the JSON Schema Slack server <https://json-schema.slack.com> and the OpenAPI Slack server <https://open-api.slack.com> β both are great resources for finding help π¦
π AUTHOR π
Karen Etheridge <ether@cpan.org>
β COPYRIGHT AND LICENCE β
This software is copyright (c) 2020 by Karen Etheridge.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
Some schema files have their own licence, in share/LICENSE.
and that's the whole page, bestie π this was JSON::...sertion(3pm) from perl v5.40.1, dated 2026-07-31 β go forth and validate your formats, you absolute icon ππ
π¦ where this page comes from
- ubuntu stonking: libjson-schema-modern-perl 0.642-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms