NETBien.backend/app/Http/Requests/Netbien/SaleStoreRequest.php
juan.zapata af8749abcd WIP (#1)
Co-authored-by: Juan Felipe Zapata Moreno <zapata_pipe@hotmail.com>
Reviewed-on: #1
2025-11-10 22:45:59 +00:00

59 lines
2.1 KiB
PHP

<?php namespace App\Http\Requests\Netbien;
/**
* @copyright (c) 2025 Notsoweb Software (https://notsoweb.com) - All Rights Reserved
*/
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Support\Str;
use Illuminate\Validation\Rule;
/**
* Almacenar rol
*
* @author Moisés Cortés C. <moises.cortes@notsoweb.com>
*
* @version 1.0.0
*/
class SaleStoreRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*/
public function rules(): array
{
return [
'client_id' => ['nullable', 'integer', 'exists:clients,id'],
'client' => ['required_without:client_id', 'array'],
'client.name' => ['required_with:client', 'string'],
'client.paternal' => ['required_with:client', 'string'],
'client.maternal' => ['required_with:client', 'string'],
'client.email' => ['required_with:client', 'email'],
'client.phone' => ['nullable', 'string', 'max:10'],
'payment_method' => ['required', 'string', 'in:cash,card,transfer'],
'saleItems' => ['required', 'array', 'min:1'],
'saleItems.*.sim_card_id' => ['required', 'integer', 'exists:sim_cards,id'],
'saleItems.*.package_id' => ['required', 'integer', 'exists:packages,id'],
];
}
public function messages(): array
{
return [
'client_id.exists' => 'El cliente seleccionado no existe.',
'client.required_without' => 'Debe proporcionar un cliente existente o crear uno nuevo.',
'payment_method.required' => 'El método de pago es obligatorio.',
'payment_method.in' => 'El método de pago debe ser: efectivo, tarjeta o transferencia.',
'saleItems.required' => 'Debe agregar al menos un item a la venta.',
'saleItems.*.sim_card_id.exists' => 'Una de las SIM seleccionadas no existe.',
'saleItems.*.package_id.exists' => 'Uno de los paquetes seleccionados no existe.',
];
}
}