cyberfly
3/9/2016 - 12:41 PM

Form request with multiple validation rules and unique check on Update

Form request with multiple validation rules and unique check on Update

<?php

namespace App\Http\Requests;

use App\Http\Requests\Request;

class AdminUsersRequest 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()
    {
        switch($this->method())
        {
            case 'GET':
            case 'DELETE':
            {
                return [];
            }
            case 'POST':
            {
                return [
                    'name' => 'required|max:255',
                    'email' => 'required|email|max:255|unique:users',
                    'password' => 'required|confirmed|min:6',
                ];
            }
            case 'PUT':
            case 'PATCH':
            {
                $patch_rules = [
                            'name' => 'required|max:255',
                            'email' => 'required|email|max:255|unique:users,email,'.$this->users,
                            'password' => 'sometimes|confirmed|min:6',

                ];

                return $patch_rules;
            }

            default:break;
        }

    }
}