App\Http\Controllers\ProductsController::rulesByTypes PHP Method

rulesByTypes() private method

private rulesByTypes ( $request, $edit = false )
    private function rulesByTypes($request, $edit = false)
    {
        $rules = $this->form_rules;
        switch ($request->input('type')) {
            case 'item':
                unset($rules['amount']);
                unset($rules['key']);
                unset($rules['software']);
                unset($rules['key_software']);
                unset($rules['software_key']);
                break;
            case 'key':
                unset($rules['amount']);
                unset($rules['stock']);
                unset($rules['low_stock']);
                unset($rules['software']);
                unset($rules['key_software']);
                unset($rules['software_key']);
                if ($edit) {
                    unset($rules['key']);
                }
                break;
            case 'software':
                unset($rules['amount']);
                unset($rules['stock']);
                unset($rules['low_stock']);
                unset($rules['key']);
                unset($rules['key_software']);
                unset($rules['software_key']);
                if ($edit) {
                    unset($rules['software']);
                }
                break;
            case 'software_key':
                unset($rules['amount']);
                unset($rules['stock']);
                unset($rules['low_stock']);
                unset($rules['key']);
                unset($rules['software']);
                if ($edit) {
                    unset($rules['key_software']);
                    unset($rules['software_key']);
                }
                break;
            case 'gift_card':
                unset($rules['stock']);
                unset($rules['low_stock']);
                unset($rules['key']);
                unset($rules['software']);
                unset($rules['key_software']);
                unset($rules['software_key']);
                break;
            default:
                return redirect()->back()->withErrors(['induced_error' => [trans('globals.error') . ' ' . trans('globals.induced_error')]])->withInput();
                break;
        }
        return $rules;
    }