46 lines
1.2 KiB
PHP
Executable File
46 lines
1.2 KiB
PHP
Executable File
<?php
|
|
|
|
namespace App\Http\Requests;
|
|
|
|
use App\Rules\LoadedMedia;
|
|
use Illuminate\Validation\Rule;
|
|
use Illuminate\Foundation\Http\FormRequest;
|
|
|
|
class MusicFormRequest 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()
|
|
{
|
|
//dd($this->musics_paid);
|
|
return [
|
|
'title' => ['nullable', 'string', 'max:255'],
|
|
'body' => ['nullable', 'string'],
|
|
'musics' => [new LoadedMedia($this)],
|
|
'musics.*' => ['file', 'mimes:mp3', 'max:20000'],
|
|
'preview' => ['nullable', 'image'],
|
|
'tags' => ['array'],
|
|
|
|
'price' => ['nullable', 'numeric', Rule::requiredIf($this->is_paid == 1)],
|
|
'musics_paid' => ['sometimes', 'nullable', 'array', Rule::requiredIf($this->is_paid == 1)],
|
|
'musics_paid.*' => ['file', 'mimes:mp3', 'max:20000'],
|
|
|
|
'removedItems' => ['nullable', 'array'],
|
|
|
|
];
|
|
}
|
|
}
|