Validation des tableaux dans Laravel
Lors de la tentative de validation d'un tableau dans Laravel à l'aide du code suivant :
$validator = Validator::make($request->all(), [ "name.*" => 'required|distinct|min:3', "amount.*" => 'required|integer|min:1', "description.*" => "required|string" ]);
Vous pouvez rencontrer un scénario inattendu dans lequel une soumission POST vide est reconnue par erreur comme valide, ce qui entraîne une erreur. positif.
Cette confusion survient parce que le symbole astérisque (*) dans le code est destiné à valider les valeurs dans le tableau, pas le tableau lui-même. Pour résoudre ce problème, les règles de validation doivent être modifiées pour vérifier la présence du tableau :
$validator = Validator::make($request->all(), [ "names" => "required|array|min:3", "names.*" => "required|string|distinct|min:3", ]);
Dans ce code ajusté :
Depuis Laravel 5.5, une approche simplifiée peut être utilisée :
$data = $request->validate([ "names" => "required|array|min:3", "names.*" => "required|string|distinct|min:3", ]);
Cette syntaxe compacte effectue directement la validation sur l'objet Request, éliminant la nécessité de l'intermédiaire $validator.
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!