Table des matières
Quelle est la demande de formulaire de Laravel?
Comment définir les règles de vérification
Il est plus approprié de placer la logique d'autorisation ici
Utilisation de la demande de formulaire dans Controller
Message d'erreur personnalisé et alias de champ (facultatif)
Maison cadre php Laravel Gestion de la validation du formulaire avec les classes de demande Laravel?

Gestion de la validation du formulaire avec les classes de demande Laravel?

Jul 12, 2025 am 01:00 AM

La demande de formulaire de Laravel est une méthode de vérification de formulaire structurée et réutilisable. 1. Il gère de manière centralisée les règles de vérification et la logique d'autorisation par le biais de classes spéciales pour éviter les ballonnements du contrôleur; 2. Après avoir utilisé la commande Artisan pour créer, les règles de champ sont définies dans la méthode des règles (), en prenant en charge le traitement des paramètres dynamiques; 3. La méthode Authorize () est utilisée pour juger les autorisations des utilisateurs et renvoie automatiquement une réponse 403; 4. L'invite de type dans le contrôleur peut obtenir les données de sécurité de vérification; 5. L'alias de l'invite d'erreur et du champ peut être personnalisé pour améliorer l'expérience utilisateur. Cette méthode rend le code plus clair et plus facile à entretenir, et convient aux projets moyens et grands.

Gestion de la validation du formulaire avec les classes de demande Laravel?

La vérification du formulaire est une partie très importante du développement d'applications Web. Laravel fournit une variété de façons d'implémenter la logique de vérification. Parmi eux, l'utilisation de la classe de demande (demande de formulaire) pour la vérification du formulaire est une structure claire et une forte méthode de réutilisation, qui convient particulièrement aux projets moyens et grands.

Gestion de la validation du formulaire avec les classes de demande Laravel?

Quelle est la demande de formulaire de Laravel?

La demande de formulaire de Laravel est une classe spécifiquement utilisée pour gérer la validation du formulaire. Il hérite d' Illuminate\Foundation\Http\FormRequest , et peut gérer de manière centralisée les règles de vérification et la logique d'autorisation pour empêcher le contrôleur de se faire gonfler.

Gestion de la validation du formulaire avec les classes de demande Laravel?

Vous pouvez créer une demande de formulaire via la commande artisan:

 PHP Artisan Make: Demandez StoreUserRequest

La classe générée est située dans app/Http/Requests . Il vous suffit de définir des règles de vérification et une logique d'autorisation pour réutiliser tout au long de l'application.

Gestion de la validation du formulaire avec les classes de demande Laravel?

Comment définir les règles de vérification

Ouvrez la classe de demande nouvellement générée et renvoyez un tableau contenant des règles de champ dans rules() . Par exemple:

 Règles de fonction publique ()
{
    Retour [
        'name' => 'requis | String | max: 255',
        'e-mail' => 'requis | e-mail | Unique: utilisateurs',
        'mot de passe' => 'requis | min: 6',
    ]]
}

Cette méthode est très similaire à l'utilisation de la méthode validate() dans le contrôleur, mais l'avantage est que ces règles peuvent être gérées de manière centralisée et peuvent être réutilisées à plusieurs endroits.

Remarque: Si vous devez transmettre dynamiquement les paramètres, tels que l'ignorance de la vérification de l'unicité des e-mails de l'utilisateur actuel lors de l'édition de l'utilisateur, il peut être réalisé par fermeture ou injectant directement l'ID de modèle.


Il est plus approprié de placer la logique d'autorisation ici

En plus des règles de vérification, la demande de formulaire fournit également une méthode authorize() pour déterminer si l'utilisateur actuel a la permission de soumettre ce formulaire. Par exemple:

 Fonction publique Autoriser ()
{
    return $ this-> user () -> can ('create-user');
}

Cela réunira également les commandes d'autorisation, ce qui rend le contrôleur plus concis.

Si FALSE est retourné, Laravel renverra automatiquement une réponse 403 et vous n'avez pas besoin de juger et de jeter les exceptions vous-même.


Utilisation de la demande de formulaire dans Controller

Une fois que vous avez défini la demande de formulaire, vous pouvez le taper directement dans le contrôleur:

 Public Function Store (StoreUserRequest $ demande)
{
    User :: Create ($ request-> valided ());

    return redirect () -> Route ('Users.Index');
}

Ici $request->validated() renvoie les données vérifiées, qui ne contient que des champs conformes aux règles, pour empêcher l'insertion de données sales dans la base de données.

Conseils: Si vous souhaitez uniquement obtenir des champs partiellement validés, vous pouvez utiliser $request->safe()->only(['name', 'email']) pour extraire des données sûres.


Message d'erreur personnalisé et alias de champ (facultatif)

Vous pouvez également remplacer messages() et attributes() dans la demande de formulaire pour personnaliser l'invite d'erreur et les noms de champ:

 Messages de fonction publique ()
{
    Retour [
        'Email.Unique' => 'Cette adresse e-mail a été enregistrée, veuillez en essayer une autre. ',
    ]]
}

Attributs de fonction publique ()
{
    Retour [
        'name' => 'name',
        'e-mail' => 'Adresse e-mail',
    ]]
}

Cela peut rendre les invites d'erreur plus conviviales et plus adaptées aux scénarios multilingues.


Fondamentalement, c'est tout. La demande de formulaire organise la vérification, l'autorisation et les invites à rendre le code plus organisé et plus facile à entretenir. Bien qu'il puisse être un peu gênant de construire une classe supplémentaire au début, vous trouverez sa valeur dans les projets réels.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Création de règles de validation personnalisées dans un projet Laravel Création de règles de validation personnalisées dans un projet Laravel Jul 04, 2025 am 01:03 AM

Il existe trois façons d'ajouter des règles de validation personnalisées dans Laravel: en utilisant les fermetures, les classes de règles et les demandes de formulaire. 1. Utilisez les fermetures pour être adaptées à la vérification légère, comme empêcher le nom d'utilisateur "admin"; 2. Créez des classes de règles (telles que ValidUsernamerule) pour rendre la logique complexe plus claire et maintenable; 3. Intégrer plusieurs règles dans les demandes de formulaire et gérer de manière centralisée la logique de vérification. Dans le même temps, vous pouvez définir des invites via des méthodes de messages personnalisés ou des réseaux de messages d'erreur entrants pour améliorer la flexibilité et la maintenabilité.

Ajout d'un support multilingue à une application Laravel Ajout d'un support multilingue à une application Laravel Jul 03, 2025 am 01:17 AM

Les méthodes de base pour les applications Laravel pour implémenter le support multilingue comprennent: la définition des fichiers linguistiques, la commutation de langage dynamique, le routage des URL de traduction et la gestion des clés de traduction dans les modèles de lame. Tout d'abord, organisez les chaînes de chaque langue dans les dossiers correspondants (tels que EN, ES, FR) dans le répertoire / Resources / Lang, et définissez le contenu de traduction en renvoyant le tableau associatif; 2. Traduire la valeur de clé via l'appel de fonction d'assistance \ _ \ _ () et utilisez l'application :: setLocale () pour combiner des paramètres de session ou de routage pour réaliser la commutation du langage; 3. Pour les URL de traduction, les chemins peuvent être définis pour différentes langues via des groupes de routage préfixés ou par voie d'alias dans les fichiers linguistiques mappés dynamiquement; 4. Gardez les touches de traduction concises et

Travailler avec des tables de pivot dans Laravel plusieurs à plusieurs relations Travailler avec des tables de pivot dans Laravel plusieurs à plusieurs relations Jul 07, 2025 am 01:06 AM

TOWORKEFFECTECTEMENTSWitHPivottablesInLaravel, FirstAccessPivotDatauSingWithPivot () Orwithtimestamps (), ThepDateEntrieswitHupDateExistPivot (), ManagerLeshipSviaDeTache

Envoi différents types de notifications avec Laravel Envoi différents types de notifications avec Laravel Jul 06, 2025 am 12:52 AM

LaravelprovidesAcleanAndFlexiblewayToSendNotificationsViamultipleChannelsLikeEmail, SMS, In-Appakets, andpushNotifications.youdefinenotificationChannelsInthevia () MethodofanotificationClass, ANDIDEFINENOTIFICATIONSECHETHODSLIKETOMAIL (), ToDatabase (), Ortovonage

Comprendre et créer des fournisseurs de services personnalisés à Laravel Comprendre et créer des fournisseurs de services personnalisés à Laravel Jul 03, 2025 am 01:35 AM

ServiceProvider est le mécanisme de base utilisé dans le cadre Laravel pour l'enregistrement des services et l'initialisation de la logique. Vous pouvez créer un ServiceProvider personnalisé via la commande Artisan; 1. La méthode de registre est utilisée pour lier les services, enregistrer des singletons, définir des alias, etc., et d'autres services qui n'ont pas encore été chargés ne peuvent pas être appelés; 2. La méthode de démarrage s'exécute après que tous les services sont enregistrés et sont utilisés pour enregistrer les écouteurs d'événements, afficher les synthétiseurs, middleware et autres logiques qui dépend d'autres services; Les utilisations courantes incluent les interfaces et les implémentations de liaison, l'enregistrement des façades, le chargement des configurations, l'enregistrement des instructions de ligne de commande et des composants de vue; Il est recommandé de centraliser les liaisons pertinentes à un ServiceProvider pour gérer et de faire attention à l'enregistrement

Stratégies pour optimiser les performances de l'application Laravel Stratégies pour optimiser les performances de l'application Laravel Jul 09, 2025 am 03:00 AM

L'optimisation des performances de Laravel peut améliorer l'efficacité de l'application à travers quatre directions de base. 1. Utilisez le mécanisme de cache pour réduire les requêtes en double, stocker rarement la modification des données via Cache :: Remember () et d'autres méthodes pour réduire la fréquence d'accès à la base de données; 2. Optimiser la base de données de la requête du modèle aux requêtes, évitez les requêtes N 1, spécifiant les requêtes de champ, ajoutant des index, pagination de traitement et de lecture et de séparation d'écriture et réduire les goulots d'étranglement; 3. Utilisez des opérations longues telles que l'envoi d'e-mails et l'exportation de fichiers vers le traitement asynchrone de file d'attente, utilisez le superviseur pour gérer les travailleurs et configurer des mécanismes de réessayer; 4. Utilisez raisonnablement les fournisseurs de middleware et de services pour éviter une logique complexe et un code d'initialisation inutile et retarder le chargement des services pour améliorer l'efficacité du démarrage.

Gestion des exceptions et des erreurs de journalisation dans une application Laravel Gestion des exceptions et des erreurs de journalisation dans une application Laravel Jul 02, 2025 pm 03:24 PM

Les méthodes de base pour gérer les exceptions et les erreurs d'enregistrement dans les applications Laravel incluent: 1. Utilisez la classe App \ Exceptions \ Handler pour gérer de manière centralisée les exceptions non gérées, et enregistrer ou notifier les informations d'exception via la méthode Report (), telles que l'envoi de notifications Slack; 2. Utilisez Monolog pour configurer le système de journal, définissez le niveau de journal et la méthode de sortie dans config / logging.php et activer les journaux d'erreur et supérieurs à l'environnement de production. Dans le même temps, des informations d'exception détaillées peuvent être enregistrées manuellement dans report () en combinaison avec le contexte; 3. Personnalisez la méthode Render () pour retourner une réponse d'erreur de format JSON unifié, améliorant l'efficacité de collaboration de l'extrémité avant et arrière de l'API. Ces étapes sont

Comprendre l'injection de dépendance à Laravel? Comprendre l'injection de dépendance à Laravel? Jul 05, 2025 am 02:01 AM

L'injection de dépendance gère automatiquement les dépendances de classe via des conteneurs de service dans Laravel sans de nouveaux objets manuels. Son noyau est l'injection de constructeur et l'injection de méthode, comme le passage automatiquement de l'instance de demande dans le contrôleur. Laravel analyse les dépendances via des invites de type et crée récursivement les objets requis. L'interface de liaison et l'implémentation peuvent être utilisées par le fournisseur de services pour utiliser la méthode Bind, ou singleton pour lier un singleton. Lorsque vous l'utilisez, vous devez vous assurer des invites de type, éviter les complications du constructeur, utiliser les liaisons contextuelles avec prudence et comprendre les règles d'analyse automatique. La maîtrise peut améliorer la flexibilité et la maintenance du code.

See all articles