MediaRequest.php 964 B

12345678910111213141516171819202122232425262728293031
  1. <?php
  2. namespace App\Http\Requests;
  3. use App\Enums\MediaTypeEnum;
  4. use Illuminate\Foundation\Http\FormRequest;
  5. use Illuminate\Validation\Rule;
  6. class MediaRequest extends FormRequest
  7. {
  8. public function rules(): array
  9. {
  10. $rules = [
  11. 'type' => ['sometimes', Rule::enum(MediaTypeEnum::class)],
  12. 'source' => 'sometimes|nullable|string|max:100',
  13. 'source_id' => 'sometimes|nullable|integer',
  14. 'path' => 'sometimes|string|max:500',
  15. 'name' => 'sometimes|string|max:255',
  16. 'url' => 'sometimes|string|max:500',
  17. ];
  18. if ($this->isMethod('post')) {
  19. $rules['type'] = ['required', Rule::enum(MediaTypeEnum::class)];
  20. $rules['path'] = 'required|string|max:500';
  21. $rules['name'] = 'required|string|max:255';
  22. $rules['url'] = 'required|string|max:500';
  23. }
  24. return $rules;
  25. }
  26. }