Skip to content

Add rule objects to validate resource IDs in query parameters #237

Open
@lindyhopchris

Description

@lindyhopchris

For example, for cursor pagination that uses resource IDs we need some rule objects that use the Laravel JSON:API implementation to validate those IDs. I.e. we have the ID pattern to match against, we have the encoding/decoding of IDs, and then we can actually check whether those IDs exist too.

An example of cursor pagination validation as it exists at the moment woud be:

  'page.after' => 'filled|string|exists:lessons,id',
  'page.before' => 'filled|string|exists:lessons,id',

In this example, it doesn't work if the resource IDs are encoded as Laravel's exists rule doesn't know that the value it is given needs to be decoded before the database is queried.

Originally posted by @othneildrew in #201 (comment)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions