Laravel Form Validation Using Controller

Laravel Form Validation Using Controller
Le formulaire fait partie intégrante du projet Laravel. Le formulaire de connexion, le formulaire d'enregistrement et le formulaire de contact sont principalement des formulaires utilisés pour les visiteurs de toute application Web. L'utilisateur soumet les données à l'application en utilisant le formulaire. Il est essentiel de vérifier les données soumises par l'utilisateur est authentique, et l'utilisateur valide soumet les données. Les données de formulaire peuvent être validées en utilisant la classe FormRequest ou la méthode du contrôleur de projet Laravel. La validation du formulaire Laravel utilisant le contrôleur a été montrée dans ce tutoriel en créant un formulaire de contact simple.

Conditions préalables:

Vous devez effectuer les tâches suivantes avant de commencer les étapes de ce tutoriel.

Créer un nouveau projet Laravel nommé ValidationProject. Ici le compositeur a été utilisé pour créer le projet Laravel. Si la compositeur n'est pas installé avant alors, vous devez l'installer avant d'exécuter la commande suivante.

$ Composer Create-Project Laravel / Laravel ValidationProject

Allez dans le dossier du projet.

$ CD ValidationProject

Tous les exemples de ce tutoriel ont été testés dans Laravel version 9+. Vérifiez la version installée de Laravel.

$ php artisan -Version

Le package bootstrap est nécessaire pour installer pour implémenter le formulaire de contact réactif. Exécutez les commandes suivantes pour installer bootstrap pour le projet.

$ compositeur a besoin de laravel / ui --dev
$ php artisan ui bootstrap
$ npm install && npm run dev

Configuration de la base de données:

Vous devez créer une base de données dans MySQL pour implémenter la tâche de semis de base de données. Effectuez les tâches suivantes pour créer une base de données et configurez la base de données du projet Laravel.

Connectez-vous au serveur MySQL et exécutez la commande SQL suivante pour créer une base de données nommée db_validation de l'invite mysql.

MySQL> Créer une base de données db_validation;

Ouvrir le .env Fichier du projet Laravel et initialisez les valeurs des informations suivantes en fonction de la base de données.

Db_connection = mysql
Db_host = localhost
Db_port = 3306
Db_database = db_validation
Db_username = "nom d'utilisateur"
Db_password = "mot de passe"

Créer un modèle et un fichier de migration pour le tableau

Accédez au dossier Laravel Project et exécutez la commande suivante pour créer le modèle et le fichier de migration pour la table de contact.

$ PHP Artisan Make: Model Contactform -M

Après avoir exécuté la commande ci-dessus, un fichier de modèle et un fichier de migration seront créés. Le fichier de migration devra modifier pour ajouter les champs du contact_forms table, et cela a été fait dans la partie suivante du tutoriel.

Modifiez le fichier de migration:

Ouvrez le fichier de migration nouvellement créé Modifier le en haut() fonction avec le contenu suivant. Selon le script, le tableau Contact_Forms contiendra 7 champs. Ce sont des identifiants, un nom, un e-mail, un sujet et un message créés et mis à jour dans les champs.

Fonction publique UP ()

Schéma :: Create ('Contact_Forms', fonction (Table Blueprint $)
$ table-> id ();
$ table-> string ('name');
$ table-> String ('e-mail');
$ Table-> String ('Subject');
$ table-> String ('message');
$ Table-> TimeStamps ();
);

Créez le tableau:

Exécutez la commande suivante pour exécuter le fichier de migration et créer le contact_forms table dans la base de données.

$ php artisan migrer

Créez un contrôleur pour valider le formulaire de contact:

Exécutez la commande suivante pour créer un contrôleur pour valider le formulaire de contact. Après avoir exécuté la commande, le ContactFormController.Le fichier PHP sera créé dans le dossier APP / HTTP / Controllers.

$ PHP Artisan Make: Contact ContactformController

Ouvrir le ContactFormController.php fichier et remplacer le contenu du fichier par le contenu suivant.

valider([
'name' => 'requis | max: 50',
'email' => 'requis | Email | max: 255',
'sujet' => 'requis | max: 100',
'message' => 'requis | max: 255',
]));
\ App \ modèles \ ContactForm :: Create ($ validedData);
retour réponse () -> JSON ('Le message a été envoyé.');

Ajouter une route pour le formulaire de contact:

Ouvrir le la toile.php fichier à partir du itinéraires dossier et ajoutez la ligne suivante à la fin du fichier. Le premier itinéraire sera utilisé pour afficher le formulaire de contact et vérifier que les données soumises sont valides ou non. Le deuxième itinéraire sera utilisé pour stocker les données du formulaire de contact dans la table de la base de données,

Route :: Get ('Contact', 'App \ Http \ Controllers \ ContactFormController @ Create') -> Name ('Form.créer');
Route :: Post ('Contact', 'App \ Http \ Controllers \ ContactFormController @ Store') -> Name ('Form.magasin');

Modifiez le fichier du modèle:

Ouvrez la forme de contact.Fichier PHP à partir du dossier App / Modèles et remplacez le contenu par le contenu suivant pour mentionner les champs obligatoires du contact_forms tableau.

Namespace App \ Modèles;
Utiliser illuminate \ database \ eloquent \ usine \ Hasfactory;
Utiliser illuminate \ database \ eloquent \ modèle;
classContactFormExtendSmodel

useHasfactory;
protégé $ fillable = ['name', 'e-mail', 'sujet', 'message'];

Créer des vues pour le formulaire de contact:

Créer un mise en page.lame.php fichier à l'intérieur du Ressources / vues dossier avec le contenu suivant qui sera utilisé pour ajouter les fichiers CSS et JS nécessaires.







Tutoriel de validation de formulaire




@yield («contenu»)



Créer un autre fichier d'affichage nommé créer.lame.php avec le contenu suivant pour afficher le formulaire de contact réactif.

@ExtendS ('Layout')
@Section ('Content')



Formulaire de contact


@if ($ errors-> any ())


    @ForEach ($ errors-> all () As $ error)
  • $ error

  • @endforeach



@fin si


@csrf



















@ensection

Testez l'application:

Accédez au dossier du projet et exécutez la commande suivante à partir du terminal pour démarrer le serveur de développement Laravel.

$ php artisan Serve

Ouvrez l'URL suivante du navigateur pour afficher le formulaire de contact.

http: // 127.0.0.1: 8000 / Contact

Le formulaire de contact suivant apparaît si toutes les étapes ci-dessus sont terminées correctement.

Insérer des données dans les champs et cliquer sur Soumettre bouton. Ici, une adresse e-mail non valide a été insérée.

La sortie suivante apparaîtra pour soumettre l'adresse e-mail non valide.

La sortie suivante apparaîtra si le formulaire de contact soumet toutes les données valides. Vous pouvez vérifier le contenu du contact_forms table pour confirmer si les données du formulaire de contact ont été stockées ou non.

Conclusion:

L'un des moyens simples de mettre en œuvre la validation du formulaire Laravel a été montré dans ce tutoriel en utilisant un formulaire de contact simple. J'espère que les utilisateurs de Laravel pourront facilement effectuer la tâche de validation du formulaire en utilisant le contrôleur après avoir lu ce tutoriel.