Modifier les règles de validation d’Authentification Laravel
Sommaire
- 1- Objectifs
- 2- Présentation
- 3- Modifier les règles de validation d'Authentification
- 4- Ajouter un champs supplémentaire au formulaire d'inscription
- 4.1- Étape 1 : Ajoutez un champ à la base de données.
- 4.2- Étape 2 : Ajoutez un champ à remplir au modèle utilisateur.
- 4.3- Étape 3 : Ajoutez le champ à Afficher au formulaire.
- 4.4- Étape 4 : Modifiez la méthode
create() - 4.4.1- Sommaire du cours Laravel
Modifier les règles de validation d’Authentification Laravel
-
Objectifs
- Être capable de modifier les règles de validation d’Authentification et d’ajouter des champs au formulaire d’inscription
-
Présentation
- 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
AuthenticatesUsersetResetsPasswords. 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 :
- Name
- E-Mail Address
- Password
- Confirm Password
-
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. - 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(). -
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:
- 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.phpet ajouter un autre champ, probablement copier-coller tout le code du champ de nom et en changer certaines parties. - Le résultat sera équivalent à l’image suivant:
-
Étape 4 : Modifiez la méthode
create() - Voici à quoi ressemble la méthode par défaut dans RegisterController :
- 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 $fillable = [
'name','lastName', 'email', 'password',
];
<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>

protected function create(array $data)
{
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
]);
}
protected function create(array $data)
{
return User::create([
'name' => $data['name'],
'lastName' => $data['lastName'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
]);
}
