Files
BUT2/mini-crm/app/Http/Requests/UpdateClientRequest.php

42 lines
1.3 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
namespace App\Http\Requests;
use App\Models\Client;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
class UpdateClientRequest extends FormRequest
{
// TP6 : mêmes règles TP5, sauf l'unicité qui ignore le client modifié.
public function authorize(): bool
{
return true;
}
public function rules(): array
{
$client = $this->route('client');
return [
'name' => ['required', 'string', 'max:100'],
'email' => ['required', 'email', Rule::unique('clients', 'email')->ignore($client instanceof Client ? $client : null)],
'phone' => ['nullable', 'string', 'max:20'],
'city' => ['nullable', 'string', 'max:100'],
];
}
public function messages(): array
{
return [
'name.required' => 'Le nom du client est obligatoire.',
'name.max' => 'Le nom ne peut pas dépasser 100 caractères.',
'email.required' => 'L’adresse e-mail est obligatoire.',
'email.email' => 'L’adresse e-mail n’est pas valide.',
'email.unique' => 'Cette adresse e-mail est déjà utilisée.',
'phone.max' => 'Le téléphone ne peut pas dépasser 20 caractères.',
'city.max' => 'La ville ne peut pas dépasser 100 caractères.',
];
}
}