Maison >développement back-end >tutoriel php >Comment valider efficacement les tableaux dans Laravel ?

Comment valider efficacement les tableaux dans Laravel ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-16 16:00:04675parcourir

How to Validate Arrays Effectively in Laravel?

Validation des tableaux avec Laravel

Lorsque vous travaillez avec des tableaux dans Laravel, il est crucial de les valider de manière appropriée. Cependant, les utilisateurs peuvent rencontrer des problèmes de validation lors de l'envoi d'un tableau POST vide.

Pour clarifier, le symbole astérisque (*) dans les règles de validation de Laravel est utilisé pour valider les valeurs dans un tableau, et non le tableau lui-même. Cela peut prêter à confusion lorsque l'on s'attend à l'échec de la validation pour un tableau vide.

Solution

Pour valider correctement un tableau, vous devez suivre cette syntaxe mise à jour :

$validator = Validator::make($request->all(), [
    "names"    => "required|array|min:3",
    "names.*"  => "required|string|distinct|min:3",
]);

Décomposer les règles de validation

Dans cet exemple :

  • "noms" : Cette règle garantit que le champ "names" est un tableau obligatoire avec au moins 3 éléments.
  • "names.*" : Cette règle vérifie le valeurs dans le tableau "names", en garantissant que chaque valeur est une obligatoire chaîne, unique (distincte) et au moins 3 caractères.

Remarque pour Laravel 5.5 et supérieur

Dans Laravel 5.5 et supérieur, vous pouvez appeler directement la méthode validate() sur l'objet Requête :

$data = $request->validate([
    "name"    => "required|array|min:3",
    "name.*"  => "required|string|distinct|min:3",
]);

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:
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