Files
site/app/Http/Requests/VideoFormRequest.php

45 lines
1.3 KiB
PHP
Executable File

<?php
namespace App\Http\Requests;
use App\Rules\LoadedMedia;
use Illuminate\Validation\Rule;
use Illuminate\Foundation\Http\FormRequest;
class VideoFormRequest extends FormRequest
{
/**
* 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 [
'title' => ['nullable', 'string', 'max:255'],
'body' => ['nullable', 'string'],
'videos' => [new LoadedMedia($this)],
//'videos.*' => ['mimes:mp4,flv,mov,avi,wmv', 'max:20000'],
'preview' => ['nullable', 'image'],
'tags' => ['array'],
'price' => ['nullable', 'numeric', Rule::requiredIf($this->is_paid == 1)],
'videos_paid' => ['sometimes', 'nullable', 'array', Rule::requiredIf($this->is_paid == 1)],
//'videos_paid.*' => ['mimes:mp4,flv,mov,avi,wmv', 'max:20000'],
'removedItems' => ['nullable', 'array'],
//'youtube' => ['nullable', 'regex:/(?:youtube\.com\/(?:[^\/]+\/.+\/|(?:v|e(?:mbed)?)\/|.*[?&]v=)|youtu\.be\/)([^"&?\/\s]{11})/i']
];
}
}