Dans le développement de Laravel, la vérification des données de la forme est une partie essentielle, et l'un des besoins communs est de s'assurer que la valeur d'un champ dans la base de données est unique. Laravel fournit des règles de vérification uniques pour mettre en œuvre cette fonctionnalité rapidement.
Lorsqu'il est nécessaire de vérifier l'unicité d'un champ, vous pouvez ajouter directement unique aux règles de vérification, par exemple:
$request->validate([
'email' => 'unique:users',
]);
Cette règle vérifie si la valeur de la colonne de messagerie dans le tableau des utilisateurs existe déjà, et si elle est répétée, une erreur de validation sera renvoyée.
Lors de la mise à jour des informations de l'utilisateur, vous devrez peut-être permettre la conservation de l'adresse e-mail d'origine. Pour le moment, vous pouvez vous exclure en ajoutant l'ID de l'enregistrement actuel dans la règle unique :
$request->validate([
'email' => 'unique:users,email,' . $user->id,
]);
Cette vérification ignorera les enregistrements avec id $ user-> id et seules des vérifications uniques sont effectuées sur d'autres enregistrements.
Dans les scénarios où l'enregistrement ou la modification du mot de passe est enregistré, l'utilisateur est généralement invité à saisir le mot de passe deux fois pour s'assurer que l'entrée est correcte. Laravel fournit des règles confirmées pour simplifier cette exigence.
Il suffit d'ajouter confirmé à la règle de validation du champ, par exemple:
$request->validate([
'password' => 'required|confirmed',
]);
Cette règle vérifiera automatiquement si les valeurs du champ de mot de passe et le champ Password_confirmation sont cohérentes. S'ils sont incohérents, une erreur sera invitée.
Lors de la mise en œuvre de la fonction de modification du mot de passe, en plus de vérifier le nouveau mot de passe, il est également nécessaire de s'assurer que l'ancien mot de passe entré par l'utilisateur est correct et d'imposer des restrictions de sécurité au nouveau mot de passe.
Un exemple relativement complet de vérification de la modification du mot de passe est le suivant:
$request->validate([
'old_password' => 'required',
'new_password' => 'required|min:8|different:old_password',
'confirm_password' => 'required|same:new_password',
]);
dans:
Grâce aux règles ci-dessus, la sécurité du processus de modification du mot de passe peut être efficacement améliorée et les utilisateurs peuvent réduire la mauvaise opération.