Actualités WEB et WordPress, thèmes, plugins. Ici, nous partageons des conseils et les meilleures solutions de sites Web.

Un guide du débutant pour la validation Laravel

60

Lorsque nous construisons un site Web dans Laravel, nous devons connaître la validation Laravel. Laravel fournit un moyen différent de valider vos données entrantes. Dans cet article, nous étudions quelques notions de base sur les validations Laravel.

Lors de la création d’une application, nous devons appliquer les validations côté client et côté serveur sans faute. Ce faisant, nous pouvons protéger notre application contre les données inutiles. En conséquence, cela nous fera gagner beaucoup de temps en supprimant les données perdues de l’application.

Cela dit, examinons comment appliquer la validation Laravel dans votre application.

Pour notre tutoriel, nous prenons un exemple de formulaire qui comporte 2 champs titre et description. Nous appliquerons la validation et si la validation échoue, elle s’affichera dans notre vue.

Validation Laravel

Pour commencer, nous devons inclure l’instruction ci-dessous dans notre fichier de contrôleur.

Placez cette instruction avant le démarrage de votre contrôleur comme ci-dessous.

<?php
 
namespace AppHttpControllers;
 
use IlluminateHttpRequest;
use Validator;
 
class PostController extends Controller
{
   .....
}

Avant d’écrire le code de validation réel, venons au fichier de vue. Nous créons un formulaire simple avec 2 champs titre et description.

<form action="{{ url('post') }}" method="post">
  <div class="form-group">
      <label for="exampleInputTitle">Post Title</label>
      <input type="text" name="title" id="exampleInputTitle" />
  </div>
  <div class="form-group">
      <label for="exampleInputBody">Post Body</label>
      <textarea class="form-control" name="body" id="exampleInputBody" rows="10"></textarea>
  </div>
  {{ csrf_field() }}
  <button type="submit" class="btn btn-default">Submit</button>
</form>

Lorsque nous soumettons un formulaire, il appellera la store()méthode de notre contrôleur. Dans votre cas, votre méthode est peut-être différente. Ainsi, dans notre méthode, nous écrirons le code de validation comme suit.

public function store(Request $request)
{
    $validator = Validator::make($request->all(), [
        'title' => 'required|max:255',
        'body' => 'required',
    ]);
 
    if ($validator->fails()) {
        return redirect('post/create')
                    ->withErrors($validator)
                    ->withInput();
    }
 
    //safe to proceed form
}

Vous pouvez remarquer que nous avons passé deux clés ‘title’ et ‘body’. Ce sont les noms de nos éléments de formulaire. Ici, Laravel vérifie si les deux champs ne sont pas vides et que les champs de titre ne dépassent pas 255 caractères.

Si l’une des validations échoue, l’utilisateur sera redirigé vers la page que nous avons transmise à une méthode redirect().

Afficher les messages d’erreur dans une vue

Nous avons appliqué la validation côté serveur. Voyons maintenant comment afficher les messages d’erreur.

Disons que la validation échoue dans notre cas et que nous devons maintenant afficher des messages d’erreur sur notre formulaire. Il existe 2 façons d’afficher les erreurs dans les vues Laravel. Dans un premier temps, nous pouvons afficher tous les messages d’erreur ensemble en haut d’un formulaire. Par la seconde façon, on peut l’afficher à côté de chaque champ qui a une erreur.

Pour afficher le message d’erreur en haut du formulaire, ajoutez le code ci-dessous au-dessus de la balise du formulaire.

@if ($errors->any())
    <div class="alert alert-danger">
        <ul>
            @foreach ($errors->all() as $error)
                <li>{{ $error }}</li>
            @endforeach
        </ul>
    </div>
@endif

Ce code affichera le message d’erreur comme indiqué dans la capture d’écran ci-dessous :

Dans la seconde manière, imprimer le message d’erreur après chaque champ. Dans ce cas, notre code est le suivant :

<div class="form-group">
   <label for="exampleInputTitle">Post Title</label>
   <input type="text" name="title" id="exampleInputTitle" />
   @if ($errors->has('title'))
       <span class="error">
           {{ $errors->first('title') }}
       </span>
   @endif
 
</div>
<div class="form-group">
   <label for="exampleInputBody">Post Body</label>
   <textarea class="form-control" name="body" id="exampleInputBody" rows="10"></textarea>
   @if ($errors->has('body'))
       <span class="error">
           {{ $errors->first('body') }}
       </span>
   @endif
</div>

Notez que nous utilisons @if ($errors->has('title'))pour vérifier si le champ ‘titre’ a une erreur de validation. Si ce champ contient une erreur, nous l’imprimons en utilisant {{ $errors->first('title') }}. La même logique que nous avons appliquée pour le champ ‘corps’. Jetez un œil à la capture d’écran ci-dessous de ce type.

Nous espérons que vous comprendrez comment appliquer la validation Laravel dans votre application. S’il vous plaît partager vos pensées dans la section commentaire ci-dessous.

Articles Liés

Source d’enregistrement: artisansweb.net

Ce site utilise des cookies pour améliorer votre expérience. Nous supposerons que cela vous convient, mais vous pouvez vous désinscrire si vous le souhaitez. J'accepte Plus de détails