*/ public function rules(): array { return [ 'file' => [ 'required_without:url', 'prohibits:url', 'file', 'max:'.(int) config('media.upload.max_kb'), 'mimetypes:'.implode(',', (array) config('media.upload.mimes')), ], 'url' => ['required_without:file', 'string', 'url:https', 'max:2048'], 'for' => ['sometimes', 'string', 'in:'.implode(',', array_keys((array) config('media.upload.for')))], ]; } }