mivita/app/Http/Requests/Abo/AboOneTimeItemRequest.php
Kevin 2269ce031f Abo Einmalprodukte und Bestätigung abschließen
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-05 15:28:08 +00:00

42 lines
1.3 KiB
PHP

<?php
namespace App\Http\Requests\Abo;
use Illuminate\Foundation\Http\FormRequest;
class AboOneTimeItemRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
/**
* @return array<string, array<int, mixed>>
*/
public function rules(): array
{
return [
'action' => ['required', 'in:add,update,remove,confirm,discard'],
'product_id' => ['required_if:action,add', 'integer', 'exists:products,id'],
'one_time_item_id' => ['required_if:action,update,remove', 'integer', 'exists:user_abo_one_time_items,id'],
'qty' => ['required_if:action,update', 'integer', 'min:1', 'max:100'],
];
}
/**
* @return array<string, string>
*/
public function messages(): array
{
return [
'action.required' => __('abo.onetime_action_required'),
'action.in' => __('abo.onetime_action_invalid'),
'product_id.required_if' => __('abo.product_not_found'),
'product_id.exists' => __('abo.product_not_found'),
'one_time_item_id.required_if' => __('abo.abo_item_not_found'),
'one_time_item_id.exists' => __('abo.abo_item_not_found'),
'qty.required_if' => __('abo.onetime_qty_required'),
];
}
}