...
✅ WEB- und WordPress-Nachrichten, Themen, Plugins. Hier teilen wir Tipps und beste Website-Lösungen.

Ein Anfängerleitfaden für die Laravel-Validierung

73

Wenn wir eine Website in Laravel erstellen, müssen wir die Laravel-Validierung kennen. Laravel bietet eine andere Möglichkeit, Ihre eingehenden Daten zu validieren. In diesem Artikel studieren wir einige Grundlagen über Laravel-Validierungen.

Beim Erstellen einer Anwendung sollten wir unbedingt clientseitige und serverseitige Validierungen anwenden. Auf diese Weise können wir unsere Anwendung vor unnötigen Daten schützen. Dadurch sparen wir viel Zeit beim Löschen von Abfalldaten aus der Anwendung.

Lassen Sie uns jedoch einen Blick darauf werfen, wie Sie die Laravel-Validierung in Ihrer Anwendung anwenden.

Für unser Tutorial nehmen wir ein Beispielformular mit 2 Feldern Titel und Beschreibung. Wir werden die Validierung anwenden und wenn die Validierung fehlschlägt, wird sie in unserer Ansicht angezeigt.

Laravel-Validierung

Um zu beginnen, müssen wir die folgende Anweisung in unsere Controller-Datei aufnehmen.

Platzieren Sie diese Anweisung vor dem Start Ihres Controllers wie unten beschrieben.

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

Bevor wir den eigentlichen Validierungscode schreiben, kommen wir zur Ansichtsdatei. Wir erstellen ein einfaches Formular mit 2 Feldern Titel und Beschreibung.

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

Wenn wir ein Formular absenden, wird die store()Methode unseres Verantwortlichen aufgerufen. In Ihrem Fall ist Ihre Methode möglicherweise anders. In unserer Methode schreiben wir den Validierungscode also wie folgt.

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
}

Sie können feststellen, dass wir zwei Schlüssel ‘title’ und ‘body’ übergeben haben. So heißen unsere Formularelemente. Hier prüft Laravel, ob beide Felder nicht leer sind und die Titelfelder 255 Zeichen nicht überschreiten.

Wenn eine der Validierungen fehlschlägt, wird der Benutzer auf die Seite umgeleitet, die wir an eine redirect()-Methode übergeben haben.

Fehlermeldungen in einer Ansicht anzeigen

Wir haben eine serverseitige Validierung angewendet. Sehen wir uns nun an, wie Fehlermeldungen angezeigt werden.

Nehmen wir an, die Validierung schlägt in unserem Fall fehl und jetzt müssen wir Fehlermeldungen in unserem Formular anzeigen. Es gibt zwei Möglichkeiten, die Fehler in Laravel-Ansichten anzuzeigen. Zum einen können wir alle Fehlermeldungen zusammen am Kopf eines Formulars anzeigen. Auf die zweite Weise kann man es neben jedem Feld anzeigen, das einen Fehler aufweist.

Um die Fehlermeldung oben im Formular anzuzeigen, fügen Sie den folgenden Code über dem Formular-Tag hinzu.

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

Dieser Code zeigt die Fehlermeldung wie im Screenshot unten gezeigt an:

Zweitens, um die Fehlermeldung nach jedem Feld auszudrucken. In diesem Fall lautet unser Code wie folgt:

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

Beachten Sie, dass wir verwenden @if ($errors->has('title')), um zu überprüfen, ob das Feld "Titel" einen Validierungsfehler aufweist. Wenn dieses Feld einen Fehler aufweist, drucken wir es mit {{ $errors->first('title') }}. Die gleiche Logik haben wir für das Feld ‘body’ angewendet. Sehen Sie sich den folgenden Screenshot dieses Typs an.

Wir hoffen, dass Sie verstehen, wie Sie die Laravel-Validierung in Ihrer Bewerbung anwenden. Bitte teilen Sie Ihre Gedanken im Kommentarbereich unten mit.

Zum Thema passende Artikel

Aufnahmequelle: artisansweb.net

Diese Website verwendet Cookies, um Ihre Erfahrung zu verbessern. Wir gehen davon aus, dass Sie damit einverstanden sind, Sie können sich jedoch abmelden, wenn Sie möchten. Annehmen Weiterlesen