pdv.backend/app/Http/Requests/ClientTiers/ClientTierStoreRequest.php
2026-01-28 16:46:31 -06:00

48 lines
1.6 KiB
PHP

<?php
namespace App\Http\Requests\ClientTiers;
use Illuminate\Foundation\Http\FormRequest;
class ClientTierStoreRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*/
public function rules(): array
{
return [
'tier_name' => ['required', 'string', 'max:100', 'unique:client_tiers,tier_name'],
'min_purchase_amount' => ['required', 'numeric', 'min:0'],
'max_purchase_amount' => ['nullable', 'numeric', 'gt:min_purchase_amount'],
'discount_percentage' => ['required', 'numeric', 'min:0', 'max:100'],
'is_active' => ['boolean'],
];
}
/**
* Get custom messages for validator errors.
*/
public function messages(): array
{
return [
'tier_name.required' => 'El nombre del tier es requerido',
'tier_name.unique' => 'Ya existe un tier con este nombre',
'min_purchase_amount.required' => 'El monto mínimo es requerido',
'min_purchase_amount.min' => 'El monto mínimo debe ser mayor o igual a 0',
'max_purchase_amount.gt' => 'El monto máximo debe ser mayor al monto mínimo',
'discount_percentage.required' => 'El porcentaje de descuento es requerido',
'discount_percentage.min' => 'El descuento debe ser mayor o igual a 0',
'discount_percentage.max' => 'El descuento no puede ser mayor a 100%',
];
}
}