File: /var/www/ipsremont-demo/app/Http/Requests/Dashboard/IndexRequest.php
<?php
namespace App\Http\Requests\Dashboard;
use App\Http\Requests\Request;
/**
* @property string $order_date
* @property string $o_date_start
* @property string $o_date_end
* @property string $shipment_date
* @property string $s_date_start
* @property string $s_date_end
* @property string $repair_date
* @property string $r_date_start
* @property string $r_date_end
*/
class IndexRequest extends Request
{
public function rules(): array
{
return [
'o_date_start' => ['date_format:Y-m-d', 'nullable', 'required_with:date_end'],
'o_date_end' => ['date_format:Y-m-d', 'nullable', 'required_with:date_start'],
's_date_start' => ['date_format:Y-m-d', 'nullable', 'required_with:date_end'],
's_date_end' => ['date_format:Y-m-d', 'nullable', 'required_with:date_start'],
'r_date_start' => ['date_format:Y-m-d', 'nullable', 'required_with:date_end'],
'r_date_end' => ['date_format:Y-m-d', 'nullable', 'required_with:date_start'],
];
}
protected function prepareForValidation()
{
$orders = $this->dateFromRangeJs($this->order_date);
$shipments = $this->dateFromRangeJs($this->shipment_date);
$repairs = $this->dateFromRangeJs($this->repair_date);
$this->merge([
'o_date_start' => $orders['start'],
'o_date_end' => $orders['end'],
's_date_start' => $shipments['start'],
's_date_end' => $shipments['end'],
'r_date_start' => $repairs['start'],
'r_date_end' => $repairs['end'],
]);
}
}