✅ WEB- ja WordPress -uutiset, -teemat, -laajennukset. Täällä jaamme vinkkejä ja parhaita verkkosivustoratkaisuja.

Aloittelijan opas Laravelin validointiin

17

Kun rakennamme verkkosivustoa Laraveliin, meidän on tiedettävä Laravelin validoinnista. Laravel tarjoaa eri tavan vahvistaa saapuvat tiedot. Tässä artikkelissa tutkimme joitain Laravel-validointien perusteita.

Sovellusta rakentaessamme meidän on sovellettava asiakas- ja palvelinpuolen tarkistuksia epäonnistumatta. Näin voimme suojata sovelluksemme tarpeettomilta tiedoilta. Tämän seurauksena se säästää paljon aikaa jätetietojen poistamiseen sovelluksesta.

Tämän jälkeen katsotaanpa, kuinka Laravel-vahvistusta voidaan soveltaa sovelluksessasi.

Otamme opetusohjelmaamme varten esimerkkilomakkeen, jolla on 2 kentän otsikko ja kuvaus. Käytämme vahvistusta ja jos vahvistus epäonnistuu, se näkyy näkymässämme.

Laravel-vahvistus

Aloittamiseksi meidän on sisällytettävä alla oleva lauseke ohjaintiedostoon.

Sijoita tämä lausunto ennen ohjaimen alkua kuten alla.

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

Ennen kuin kirjoitat todellisen vahvistuskoodin, anna tulla näkymätiedostoon. Luomme yksinkertaisen lomakkeen, jossa on 2 kentän otsikko ja kuvaus.

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

Kun lähetämme lomakkeen, se kutsuu ohjaimemme store()menetelmää. Sinun tapauksessasi ehkä menetelmäsi on erilainen. Joten menetelmässämme kirjoitamme vahvistuskoodin seuraavasti.

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
}

Voit huomata, että olemme välittäneet kaksi avainta ‘otsikko’ ja ‘runko’. Nämä ovat muotoelementtimme nimi. Tässä Laravel tarkistaa, eivätkö molemmat kentät ole tyhjiä ja otsikkokentät eivät ylitä 255 merkkiä.

Jos jokin vahvistus epäonnistuu, käyttäjä ohjaa uudelleenohjaussivulle() johtaneelle sivulle.

Näytä virheilmoitukset näkymässä

Olemme soveltaneet palvelinpuolen tarkistusta. Katsotaan nyt, kuinka virheilmoitukset näytetään.

Oletetaan, että vahvistus epäonnistuu tapauksessamme, ja nyt meidän on näytettävä virheilmoitukset lomakkeessamme. Laravel-näkymissä virheitä voidaan näyttää kahdella tavalla. Ensinnäkin voimme näyttää kaikki virheilmoitukset yhdessä lomakkeen yläosassa. Toisella tavalla voidaan näyttää se jokaisen kentän vieressä, jossa on virhe.

Jos haluat näyttää virheilmoituksen lomakkeen yläosassa, lisää alla oleva koodi lomaketunnisteen yläpuolelle.

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

Tämä koodi näyttää virheilmoituksen alla olevan kuvakaappauksen mukaisesti:

Toisella tavalla tulostetaan virheilmoitus jokaisen kentän jälkeen. Siinä tapauksessa koodimme on seuraava:

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

Huomaa, että @if ($errors->has('title'))tarkistamme, onko otsikko-kentässä tarkistusvirhe. Jos tässä kentässä on virhe, tulostamme sen käyttämällä {{ $errors->first('title') }}. Sama logiikka, jota sovellimme kenttään ‘body’. Katso alla olevaa tämän tyyppistä kuvakaappausta.

Toivomme, että ymmärrät, miten Laravel-validointia käytetään sovelluksessasi. Jaa ajatuksesi alla olevassa kommenttiosassa.

Aiheeseen liittyvät artikkelit

Tämä verkkosivusto käyttää evästeitä parantaakseen käyttökokemustasi. Oletamme, että olet kunnossa, mutta voit halutessasi kieltäytyä. Hyväksyä Lisätietoja