%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /mnt/tnb2/git/loslex/app/Http/Requests/
Upload File :
Create Path :
Current File : //mnt/tnb2/git/loslex/app/Http/Requests/ContestUpdateRequest.php

<?php

namespace App\Http\Requests;

use Carbon\Carbon;
use Illuminate\Foundation\Http\FormRequest;

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

    /**
     * Get the validation rules that apply to the request.
     * @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array|string>
     */
    public function rules(): array
    {
        $now = Carbon::now();
        return [
            'contestname'           => 'required|string|max:255',
            'range_id'              => 'required|integer|exists:ranges,id',
            'date'                  => 'required|date|after:'.$now->toDateString(),
            'published'             => 'required|boolean',
            'contest_category_id'   => 'required|exists:contest_categories,id',
            'contest_level_id'      => 'required|exists:contest_levels,id',
            'registration_start'    => 'required|date|before:date',
            'registration_end'      => 'required|date|before_or_equal:date|after:registration_start',
            'registration_type'     => 'required|integer',

            'organizer_group_id'    => 'required|integer|exists:organizer_groups,id',
            'director_id'           => 'required|integer|exists:users,id',
            'rangemaster_id'        => 'required|integer|exists:users,id',
            'instructions'          => 'string|nullable',
            'calibrationwpn'        => 'required|string|max:255',

            'feebasic'              => 'required|integer|min:0',
            'feelex'                => 'bail|nullable|integer|min:0|lt:feebasic',

            'stages'                => 'required|integer|min:1',
            'squads'                => 'required|integer|min:1',
            'capacity'              => 'required|integer|min:1',

            'secretstages'          => 'required|boolean',
            'flashlight'            => 'required|integer',
            'restrictions'          => 'sometimes',
            'restrictionstext'      => 'required_with:restrictions',

            'presentation_start.0'  => 'exclude_if:squadshootstyle,manual|required|date_format:H:i',
            'presentation_end.0'    => 'exclude_if:squadshootstyle,manual|required|date_format:H:i',
            'contest_start.0'       => 'exclude_if:squadshootstyle,manual|required|date_format:H:i',
            'contest_end.0'         => 'exclude_if:squadshootstyle,manual|required|date_format:H:i',

            'presentation_start.1'  => 'exclude_if:squadshootstyle,together|required|date_format:H:i',
            'presentation_end.1'    => 'exclude_if:squadshootstyle,together|required|date_format:H:i',
            'contest_start.1'       => 'exclude_if:squadshootstyle,together|required|date_format:H:i',
            'contest_end.1'         => 'exclude_if:squadshootstyle,together|required|date_format:H:i',

            'presentation_start.2'  => 'sometimes|exclude_if:squadshootstyle,together|required|date_format:H:i',
            'presentation_end.2'    => 'sometimes|exclude_if:squadshootstyle,together|required|date_format:H:i',
            'contest_start.2'       => 'sometimes|exclude_if:squadshootstyle,together|required|date_format:H:i',
            'contest_end.2'         => 'sometimes|exclude_if:squadshootstyle,together|required|date_format:H:i',

            'presentation_start.3'  => 'sometimes|exclude_if:squadshootstyle,together|required|date_format:H:i',
            'presentation_end.3'    => 'sometimes|exclude_if:squadshootstyle,together|required|date_format:H:i',
            'contest_start.3'       => 'sometimes|exclude_if:squadshootstyle,together|required|date_format:H:i',
            'contest_end.3'         => 'sometimes|exclude_if:squadshootstyle,together|required|date_format:H:i',

            'presentation_start.4'  => 'sometimes|exclude_if:squadshootstyle,together|required|date_format:H:i',
            'presentation_end.4'    => 'sometimes|exclude_if:squadshootstyle,together|required|date_format:H:i',
            'contest_start.4'       => 'sometimes|exclude_if:squadshootstyle,together|required|date_format:H:i',
            'contest_end.4'         => 'sometimes|exclude_if:squadshootstyle,together|required|date_format:H:i',

            'presentation_start.5'  => 'sometimes|exclude_if:squadshootstyle,together|required|date_format:H:i',
            'presentation_end.5'    => 'sometimes|exclude_if:squadshootstyle,together|required|date_format:H:i',
            'contest_start.5'       => 'sometimes|exclude_if:squadshootstyle,together|required|date_format:H:i',
            'contest_end.5'         => 'sometimes|exclude_if:squadshootstyle,together|required|date_format:H:i',

            'presentation_start.6'  => 'sometimes|exclude_if:squadshootstyle,together|required|date_format:H:i',
            'presentation_end.6'    => 'sometimes|exclude_if:squadshootstyle,together|required|date_format:H:i',
            'contest_start.6'       => 'sometimes|exclude_if:squadshootstyle,together|required|date_format:H:i',
            'contest_end.6'         => 'sometimes|exclude_if:squadshootstyle,together|required|date_format:H:i',

            'presentation_start.7'  => 'sometimes|exclude_if:squadshootstyle,together|required|date_format:H:i',
            'presentation_end.7'    => 'sometimes|exclude_if:squadshootstyle,together|required|date_format:H:i',
            'contest_start.7'       => 'sometimes|exclude_if:squadshootstyle,together|required|date_format:H:i',
            'contest_end.7'         => 'sometimes|exclude_if:squadshootstyle,together|required|date_format:H:i',

            'presentation_start.8'  => 'sometimes|exclude_if:squadshootstyle,together|required|date_format:H:i',
            'presentation_end.8'    => 'sometimes|exclude_if:squadshootstyle,together|required|date_format:H:i',
            'contest_start.8'       => 'sometimes|exclude_if:squadshootstyle,together|required|date_format:H:i',
            'contest_end.8'         => 'sometimes|exclude_if:squadshootstyle,together|required|date_format:H:i',

            'presentation_start.9'  => 'sometimes|exclude_if:squadshootstyle,together|required|date_format:H:i',
            'presentation_end.9'    => 'sometimes|exclude_if:squadshootstyle,together|required|date_format:H:i',
            'contest_start.9'       => 'sometimes|exclude_if:squadshootstyle,together|required|date_format:H:i',
            'contest_end.9'         => 'sometimes|exclude_if:squadshootstyle,together|required|date_format:H:i',

            'presentation_start.10' => 'sometimes|exclude_if:squadshootstyle,together|required|date_format:H:i',
            'presentation_end.10'   => 'sometimes|exclude_if:squadshootstyle,together|required|date_format:H:i',
            'contest_start.10'      => 'sometimes|exclude_if:squadshootstyle,together|required|date_format:H:i',
            'contest_end.10'        => 'sometimes|exclude_if:squadshootstyle,together|required|date_format:H:i',
        ];
    }
}

Zerion Mini Shell 1.0