41 lines
1.2 KiB
PHP
41 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Requests;
|
|
|
|
use Illuminate\Validation\Rule;
|
|
|
|
class MediaRequest extends BaseRequest
|
|
{
|
|
public function postRules(): array
|
|
{
|
|
return [
|
|
'job_id' => [
|
|
Rule::requiredIf(function () {
|
|
return request()->has('chunk') && request('chunk') != 1;
|
|
}),
|
|
Rule::forbiddenUnless(function () {
|
|
return request()->has('chunk') && request('chunk') != 1;
|
|
}),
|
|
'string',
|
|
],
|
|
'name' => [
|
|
Rule::requiredIf(function () {
|
|
return request()->has('chunk') && request('chunk') == 1;
|
|
}),
|
|
'string',
|
|
],
|
|
'chunk' => [
|
|
'required_with:chunk_count',
|
|
'integer',
|
|
'min:1',
|
|
'max:99',
|
|
Rule::passes(function ($attribute, $value) {
|
|
$chunkCount = request('chunk_count');
|
|
return $value <= $chunkCount;
|
|
})->withMessage('The chunk must be less than or equal to chunk_count.'),
|
|
],
|
|
'chunk_count' => 'required_with:chunk|integer|min:1',
|
|
];
|
|
}
|
|
}
|