la programmation

Créer Formulaire Contact Laravel

Pour créer une formulaire de contact dans Laravel 5 en utilisant la fonctionnalité de requête de formulaire (Form Request), vous pouvez suivre plusieurs étapes. Assurez-vous d’avoir Laravel 5 installé et configuré correctement sur votre machine avant de commencer. Voici un guide détaillé pour vous aider dans ce processus :

Étape 1 : Créer un Form Request

Tout d’abord, vous devez créer un Form Request qui validera les données soumises par le formulaire de contact. Dans votre terminal, utilisez la commande artisan suivante pour générer un nouveau Form Request nommé ContactFormRequest :

bash
php artisan make:request ContactFormRequest

Cela créera un nouveau fichier ContactFormRequest.php dans le répertoire app/Http/Requests.

Étape 2 : Définir les règles de validation

Ouvrez le fichier ContactFormRequest.php que vous venez de créer et définissez les règles de validation pour les champs de votre formulaire dans la méthode rules(). Par exemple :

php
namespace App\Http\Requests; use Illuminate\Foundation\Http\FormRequest; class ContactFormRequest extends FormRequest { public function authorize() { return true; // Vous pouvez définir ici des règles d'autorisation si nécessaire } public function rules() { return [ 'nom' => 'required|string|max:255', 'email' => 'required|email|max:255', 'message' => 'required|string', ]; } }

Étape 3 : Créer le formulaire de contact

Créez une vue pour le formulaire de contact. Vous pouvez placer ce fichier dans resources/views/contact.blade.php. Voici un exemple de formulaire simple :

html
<form action="{{ route('contact.submit') }}" method="POST"> @csrf <div> <label for="nom">Nom :label> <input type="text" name="nom" id="nom"> div> <div> <label for="email">Email :label> <input type="email" name="email" id="email"> div> <div> <label for="message">Message :label> <textarea name="message" id="message" cols="30" rows="10">textarea> div> <button type="submit">Envoyerbutton> form>

Étape 4 : Créer la route

Ajoutez une route pour gérer la soumission du formulaire de contact dans votre fichier de routes web.php :

php
Route::post('/contact', 'ContactController@submit')->name('contact.submit');

Étape 5 : Créer le contrôleur

Créez un contrôleur nommé ContactController avec une méthode submit pour gérer la soumission du formulaire de contact. Utilisez la commande artisan suivante pour générer le contrôleur :

bash
php artisan make:controller ContactController

Ensuite, implémentez la méthode submit dans votre contrôleur pour traiter la soumission du formulaire. Vous pouvez également injecter votre Form Request dans cette méthode pour gérer la validation des données soumises. Par exemple :

php
namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests\ContactFormRequest; class ContactController extends Controller { public function submit(ContactFormRequest $request) { // Les données du formulaire ont été validées // Vous pouvez accéder aux données soumises à partir de $request->nom, $request->email, etc. // Traitement de l'envoi du message // Redirection avec un message de succès return redirect()->back()->with('success', 'Votre message a été envoyé avec succès ! Nous vous répondrons bientôt.'); } }

Étape 6 : Afficher les erreurs de validation

Dans votre vue contact.blade.php, vous pouvez afficher les erreurs de validation à côté de chaque champ du formulaire. Par exemple :

html
@if ($errors->any()) <div> <ul> @foreach ($errors->all() as $error) <li>{{ $error }}li> @endforeach ul> div> @endif

Conclusion

Vous avez maintenant créé un formulaire de contact dans Laravel 5 en utilisant la fonctionnalité de requête de formulaire (Form Request). Ce formulaire valide les données soumises et les envoie à une méthode de contrôleur pour traitement. Vous pouvez étendre ce processus en ajoutant des fonctionnalités supplémentaires telles que l’envoi d’un email de notification lorsque le formulaire est soumis avec succès.

Plus de connaissances

Bien sûr, poursuivons en approfondissant davantage chaque étape du processus de création d’une formulaire de contact avec Laravel 5 en utilisant la fonctionnalité Form Request.

Étape 1 : Créer un Form Request

Lorsque vous générez un nouveau Form Request avec la commande artisan, Laravel crée automatiquement un fichier dans le répertoire app/Http/Requests. Ce fichier contient une classe qui étend la classe de base FormRequest. Cette classe sert à valider les données soumises par le formulaire.

La méthode authorize() dans le Form Request détermine si l’utilisateur est autorisé à soumettre le formulaire. Par défaut, cette méthode renvoie false, mais vous pouvez la modifier selon vos besoins. Par exemple, si vous n’avez pas besoin de règles d’autorisation spécifiques, vous pouvez simplement renvoyer true.

Étape 2 : Définir les règles de validation

Les règles de validation sont définies dans la méthode rules() du Form Request. Laravel fournit de nombreuses règles de validation prédéfinies que vous pouvez utiliser pour valider différents types de données, comme required, email, numeric, min, max, etc. Dans l’exemple fourni, nous avons défini des règles pour les champs nom, email et message.

Vous pouvez également personnaliser les messages d’erreur pour chaque règle de validation en définissant une méthode messages() dans votre Form Request.

Étape 3 : Créer le formulaire de contact

Le formulaire de contact est créé en HTML et placé dans une vue Blade, généralement dans le répertoire resources/views. Assurez-vous d’utiliser la directive @csrf pour inclure un jeton CSRF, ce qui est essentiel pour protéger votre application contre les attaques de type CSRF (Cross-Site Request Forgery).

Étape 4 : Créer la route

La route est définie dans le fichier routes/web.php. Vous devez définir une route qui pointe vers la méthode du contrôleur responsable de traiter la soumission du formulaire. Dans cet exemple, la route est de type POST car le formulaire soumet les données au serveur.

Étape 5 : Créer le contrôleur

Le contrôleur est responsable de traiter la soumission du formulaire. Dans la méthode submit du contrôleur, vous pouvez accéder aux données soumises à partir de l’objet $request passé en paramètre. Si vous avez utilisé un Form Request pour valider les données, Laravel effectuera automatiquement la validation avant d’exécuter la méthode du contrôleur. Si la validation échoue, l’utilisateur sera redirigé avec les erreurs de validation.

Étape 6 : Afficher les erreurs de validation

Dans la vue du formulaire, vous devez afficher les erreurs de validation à côté de chaque champ. Laravel facilite cela en fournissant un objet $errors dans les vues, qui contient toutes les erreurs de validation. Vous pouvez itérer à travers cet objet pour afficher les erreurs à l’utilisateur.

Conclusion

En suivant ces étapes, vous pouvez créer un formulaire de contact fonctionnel dans Laravel 5 en utilisant la fonctionnalité de requête de formulaire (Form Request). N’oubliez pas de tester votre formulaire pour vous assurer qu’il fonctionne comme prévu et de mettre en place des mécanismes de sécurité appropriés pour protéger votre application contre les attaques.

Bouton retour en haut de la page