PHPackages                             patricksavalle/slim-request-params - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [HTTP &amp; Networking](/categories/http)
4. /
5. patricksavalle/slim-request-params

ActiveLibrary[HTTP &amp; Networking](/categories/http)

patricksavalle/slim-request-params
==================================

Adds request-parameter validation to the SLIM 3.x PHP framework

v1.2(3y ago)92.0k1[1 issues](https://github.com/patricksavalle/slim-request-params/issues)1MITPHP

Since Apr 30Pushed 3y ago2 watchersCompare

[ Source](https://github.com/patricksavalle/slim-request-params)[ Packagist](https://packagist.org/packages/patricksavalle/slim-request-params)[ Docs](https://github.com/patricksavalle/slim-request-params)[ RSS](/packages/patricksavalle-slim-request-params/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (2)Dependencies (1)Versions (4)Used By (1)

PHP SLIM Request validation
---------------------------

[](#php-slim-request-validation)

*Needs PHP 7.x*

Validates request **query-parameters** and **body-parameters** ($\_GET and $\_BODY) and **HTTP-headers** using regular expressions. Adds a layer of security and self-documentation to your API-code. Uses the same syntax as SLIM uses for route-segments.

Example:

```
use SlimRequestParams\QueryParameters;

$slimapp->get('', ...)
    ->add(new QueryParameters([
        '{text:\w+}',
        '{fromdate:\date}',
        '{distance:\float},0.0',
        '{orderby:(name|date)},name',
        '{reversed:\bool},false',
        '{offset:\int},1',
        '{count:\int},100',
    ]);

```

This would for example accept this request:

```
GET yourdomain.com?text=airplane&fromdate=2016-10-10

```

And it would for example reject these requests:

```
GET yourdomain.com?text=airplane&fromdate=2016-10-10&whatever=23
GET yourdomain.com?text=airplane&fromdate=date
GET yourdomain.com?fromdate=2016-10-10&whatever=23
GET yourdomain.com?text=airplane&
GET yourdomain.com

```

etc.

### 0. Install with [Composer](https://packagist.org/packages/patricksavalle/slim-request-params)

[](#0-install-with-composer)

- Update your `composer.json` to require `patricksavalle/slim-request-params`.
- Run `composer install` to add slim-request-params your vendor folder.

    ```
    {
      "require": {
        "patricksavalle/slim-request-params": "^1.0"
      }
    }
    ```
- Include in your source.

    ```
