Si j'ai plus de 20 champs, pouvons-nous valider cela avec moins de code ??? Je ne veux pas écrire requis pour toutes les entrées.
$request->validate([ 'first_name' => 'required', 'last_name' => 'required', 'gender' => 'required', 'date_of_birth' => 'required', 'place_of_birth' => 'required', 'nationality' => 'required', 'mobile_number' => 'required', 'email' => 'required|email|unique:informations', 'home_region' => 'required', 'digital_address' => 'required', 'school_name' => 'required', 'school_region' => 'required', 'school_digital_address' => 'required', 'school_level' => 'required', 'school_program_of_study' => 'required', 'patron_first_name' => 'required', 'patron_last_name' => 'required', 'patron_gender' => 'required', 'patron_mobile_number' => 'required' ]);
3 Réponses :
C'est le code minimal que Laravel doit fonctionner la validation. P>
Si vous n'entrez pas le nom de chaque champ, comment est-il censé savoir que l'entrée manquante de la demande est requise? Laravel a besoin de chaque nom d'entrée marqué. P>
en fait oui il y a un moyen.
Ceci est votre code p> maintenant dans votre formulaire HTML pour tous ces champs, vous devez faire une matrice pour cela comme ceci p> et dans votre contrôleur ou votre demande, vous pouvez créer ce tableau requis comme celui-ci p> de cette façon que vous pouvez avoir Moins d'index dans votre tableau;), espérons que cela aidera p> p>
Comment le validateur voudrait-il savoir que personne.first_name code> est requis et non
personne.last_name code> est requis ?!
Ne voyez-vous pas @ n69s dans mon validateur que je l'ai fait comme une matrice
Je vois, mais l'attribut de sorcière de ce tableau est requis code>? Combien d'entre eux sont nécessaires? Comment savez-vous qu'un attribut manque-t-il à ceux désirés?
C'est pour tous, tous les éléments du tableau (personne) sont nécessaires. Résumer PHP 'Personne. *' => 'Requis' code> Vérifiez le panneau d'astérisque juste après le nom de la matrice
Disons que dans le formulaire I Supprimer / désactiver le nom d'entrée first_name code> de sorte que ce n'est pas envoyé dans la requête, votre vérificateur de validateur pour cela? Va-t-il renvoyer
premier_name requis code>?
Bien sûr! Voici comment, itérer à travers toutes les données de demande (y compris ceux que vous n'avez pas l'intention d'avoir envoyé ce qui en fait une mauvaise idée) et de les valider à être requis, à l'exception de ceux qui nécessitent plus de règles telles que «e-mail» (celles-ci peuvent être validées par elles-mêmes )
$data = array_except($request->all(), ['_token', 'email']); foreach ($data as $key => $value) { $request->validate([$key => 'required']); } $request->validate(['email' => 'required|email|unique:informations']);
Comme le code de travail est plus adapté à CODEREVIEWS SE - mais j'ai le sentiment que cela ne serait pas sur le sujet.
Il s'agit que de 20 lignes de code qui vérifient automatiquement tout pour vous, par opposition à vous écrivez tout le code de validation, en vous assurant que cela fonctionne, des tests, etc. Combien de temps peut-il obtenir?