ldc-domaine-de-lanvaux/app/Http/Requests/ContactFormRequest.php
2025-07-08 10:41:42 +02:00

54 lines
2 KiB
PHP

<?php
namespace App\Http\Requests;
use App\Lib\ToolboxHelper;
use Illuminate\Foundation\Http\FormRequest;
class ContactFormRequest extends FormRequest
{
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules(): array
{
ToolboxHelper::validateRecaptcha($this, \config('services.google.recaptcha.version') === 3);
return [
'civilite' => 'required|in:monsieur,madame',
'name' => 'required|min:2',
'lastname' => 'required|min:2',
'address' => 'required|max:255',
'postcode' => 'required',
'city' => 'required|string|max:255',
'country' => 'required|string|max:255',
'phone' => 'required|max:255',
'email' => 'required|email:rfc,dns,spoof|max:255',
'topic' => 'required',
'product_name' => 'required_if:topic,Réclamation|max:255',
'barcode' => 'sometimes|max:128',
'shop' => 'required_if:topic,Réclamation|max:255',
'lot' => 'required_if:topic,Réclamation|max:255',
'limit_date' => 'required_if:topic,Réclamation|date|nullable',
'consumption_date' => 'required_if:topic,Réclamation|date|nullable',
'message' => 'required|min:26',
'file' => 'nullable|mimes:jpg,jpeg,png,pdf|max:5120',
];
}
/**
* Get the error messages for the defined validation rules.
*
* @return array
*/
public function messages(): array
{
return [
'topic.required' => __('Veuille préciser la nature de votre demande.'),
'file.max' => __('La taille du fichier ne peut pas dépasser :max kilo-octets.'),
'file.mimes' => __('Le fichier doit être de type : :values.'),
];
}
}