[12.x ]Introduce a JsonSchema validation rule #56916
Draft
+309
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR adds a
json_schema
validation rule to Laravel’s validator, allowing attributes to be validated against JSON Schemas. It introduces a newJsonSchema
rule class, integrates withopis/json-schema
, and includes a fluentRule::jsonSchema()
helper.This is made possible by he introduction of
illuminate/json-schema
, see #56903 by @nunomaduroThis is still very much Work in progress.
What's Changed
validateJsonSchema()
method inValidatesAttributes
.Rule::jsonSchema(Type $schema)
convenience method.Illuminate\Validation\Rules\JsonSchema
class with support for normalization, malformed JSON detection, and detailed error messages.opis/json-schema
dependency.Motivation
Example