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
AuthenticatesUsers
etResetsPasswords
. 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.php
et 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']),
]);
}