laravel-json-api / laravel

JSON:API for Laravel applications

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Add rule objects to validate resource IDs in query parameters

lindyhopchris opened this issue · comments

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)