J'essaye de valider le tableau POST dans Laravel:
$validator = Validator::make($request->all(), [
"name.*" => 'required|distinct|min:3',
"amount.*" => 'required|integer|min:1',
"description.*" => "required|string"
]);
J'envoie un POST vide et je reçois ceci if ($validator->fails()) {}
comme False
. Cela signifie que la validation est vraie, mais ce n'est pas le cas.
Comment valider un tableau dans Laravel? Lorsque je soumets un formulaire avecinput name="name[]"
php
laravel
laravel-5.4
Darama
la source
la source
$request->validate([...])
. Une exception sera déclenchée si les données échouent à la validation.J'ai ce tableau comme données de demande à partir d'une grille / table de données HTML + Vue.js:
Et utilisez ceci pour valider ce qui fonctionne correctement:
la source
La méthode recommandée pour écrire la logique de validation et d'autorisation consiste à placer cette logique dans des classes de demande distinctes. De cette façon, votre code de contrôleur restera propre.
Vous pouvez créer une classe de requête en exécutant
php artisan make:request SomeRequest
.Dans la
rules()
méthode de chaque classe de requête, définissez vos règles de validation:Dans votre contrôleur, écrivez votre fonction d'itinéraire comme ceci:
Chaque classe de demande est livrée avec des hooks / méthodes de pré et post-validation qui peuvent être personnalisés en fonction de la logique métier et des cas spéciaux afin de modifier le comportement normal de la classe de demande.
Vous pouvez créer des classes de requêtes parentes pour des types de requêtes similaires (par exemple
web
etapi
), puis encapsuler une logique de requête commune dans ces classes parentes.la source
Données un peu plus complexes, mélange de réponses de @ Laran et @Nisal Gunawardana
La règle de validation sera
la source
Vous devez boucler sur le tableau d'entrée et ajouter des règles pour chaque entrée comme décrit ici: Règles de bouclage
Voici un code pour vous:
la source