Modifier les règles de validation d’Authentification Laravel

Modifier les règles de validation d’Authentification Laravel

  1. Objectifs

    • Être capable de modifier les règles de validation d’Authentification et d’ajouter des champs au formulaire d’inscription
  2. Présentation

    • Modifier les règles de validation d'Authentification Laravel

    • Le système d’authentification inclus de Laravel est un excellent moyen d’échafauder un flux de base pour authentifier les utilisateurs grâce à un système complet d’inscription, de connexion, de déconnexion et de mot de passe oublié.
    • Une fois la configuration terminée, la validation de la réinitialisation de connexion et de mot de passe est stockée dans un fichier AuthenticatesUsers et ResetsPasswords. Même s’il est un peu caché, il est toujours facile de l’adapter à vos besoins. Voyons comment régler le fichier Auth:
    • Par défaut, Auth comporte quatre champs :
      1. Name
      2. E-Mail Address
      3. Password
      4. Confirm Password



  3. Modifier les règles de validation d’Authentification

    • Toutes les champs présentés ci-dessus sont obligatoires et ces règles de validation sont spécifiées dans le même endroit app/Http/Controllers/Auth/RegisterController.php.
    • Modifier les règles de validation d'Authentification Laravel

    • Donc si vous voulez changer l’un de ces éléments, comme ajouter des règles de mot de passe plus compliquées que seulement 6 symboles minimum, il suffit d’éditer cette méthode validator().
  4. Ajouter un champs supplémentaire au formulaire d’inscription

    • L’exemple le plus typique de ceci serait l’ajout d’un champ de lastName , en plus du nom par défaut . Il y a quelques étapes à suivre ici:
    • Étape 1 : Ajoutez un champ à la base de données.
      • Ajoutez simplement cette ligne à un fichier de migration: $table-> string ('lastName');
      • Choisissez d’éditer le fichier de migration par défaut existant ou d’en créer un nouveau avec php artisan make: migration add_surname_to_users_table.
    • Étape 2 : Ajoutez un champ à remplir au modèle utilisateur.
      • Par défaut, app/User.php a ceci:
      • protected $fillable = [
            'name','lastName', 'email', 'password',
        ];
      • Vous devez donc ajouter votre nouveau “lastName” dans ce tableau.
    • Étape 3 : Ajoutez le champ à Afficher au formulaire.
      • Vous devez éditer le fichier resources/views/auth/register.blade.php et ajouter un autre champ, probablement copier-coller tout le code du champ de nom et en changer certaines parties.
      • <div class="form-group row">
                                    <label for="lastName" class="col-md-4 col-form-label text-md-right">{{ __('LastName') }}</label>
        
                                    <div class="col-md-6">
                                        <input id="lastName" type="text" class="form-control @error('lastName') is-invalid @enderror" name="lastName" value="{{ old('lastName') }}" required autocomplete="lastName" autofocus>
        
                                        @error('lastName')
                                            <span class="invalid-feedback" role="alert">
                                                <strong>{{ $message }}</strong>
                                            </span>
                                        @enderror
                                    </div>
                                </div>
      • Le résultat sera équivalent à l’image suivant:
      • Modifier les règles de validation d’Authentification Laravel

    • Étape 4 : Modifiez la méthode create()
      • Voici à quoi ressemble la méthode par défaut dans RegisterController :
      • protected function create(array $data)
            {
                return User::create([
                    'name' => $data['name'],
                    'email' => $data['email'],
                    'password' => Hash::make($data['password']),
                ]);
            }
      • Devinez quoi, il vous suffit d’ajouter une autre ligne liée au nom de famille, donc le résultat final est le suivant:
      • protected function create(array $data)
            {
                return User::create([
                    'name' => $data['name'],
                    'lastName' => $data['lastName'],
                    'email' => $data['email'],
                    'password' => Hash::make($data['password']),
                ]);
            }



Laisser un commentaire

Abonnez vous à notre chaîne YouTube gratuitement