punkrockio/laravel-schemarequest

Server side form validation using JSON Schema

dev-master 2017-04-27 05:11 UTC

This package is not auto-updated.

Last update: 2024-04-19 18:07:29 UTC


README

Server side form validation using JSON Schema

How to use

  1. Create a form request class as you would with artisan: php artisan make:request PersonRequest
  2. Change the extended class in PersonRequest to use SchemaRequest/SchemaFormRequest
  3. Implement the rules() method to return a JSON Schema string

Example

<?php

namespace App\Http\Requests;

use SchemaRequest\SchemaFormRequest as Request;

class PersonFormRequest extends Request
{

    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return '{
            "type": "object",
            "properties": {
                "fname": {"type": "string", "maximum": 5},
                "lname": {"type": "string", "minimum": 5},
                "mname": {"type": "string", "minimum": 5},
                "age": {"type": "integer", "minimum": 21},
                "email": {"type": "string", "format": "email"}
            }
        }';
    }
}