Laravel 9 forespørsler og validering

Laravel 9 forespørsler og validering

"Dagens opplæring vil lære om Laravel -forespørsler og validering. Laravel er det sikreste PHP -rammeverket denne gangen. Nå vil jeg forklare om forespørsel, Laravel Request er en måte å sende data fra visning til kontroller via rute. Hvis vi ønsker å få data fra noen form for Laravel -form, må vi sende dem til kontrolleren; Så bruker vi forespørselsmetoden.”

I rammen er en beste fremtid dataforespørselen, som lar oss bygge eller håndtere kraftige applikasjoner og API -er. Det var mange måter å sjekke valideringsREQUESTS i Laravel 9. Håndtering av kontrollerRequest validering er en veldig kompleks del av enhver Laravel -applikasjon. Laravel har noen ekstraordinære funksjoner som omhandler håndteringsforespørsel veldig bra. Request Data brukes i utgangspunktet for å få data fra Laravel -skjemaet.

De fleste utviklere er veldig vant til validatoren i deres prosjekter. Og det er også den mest grunnleggende måten å validere håndtering av den innkommende forespørselen til kontrolleren.

Det er ingenting galt med å validere våre innkommende forespørsler i prosjektkontrolleren, men det er ikke bare den beste måten å kjøre dette på, og på denne måten ser prosjektkontrolleren også veldig rotete. Som utvikler synes jeg det er en dårlig praksis. Denne kontrolleren vil gjøre håndterer forespørsler fra en innkommende forespørsel fra den spesifikke ruten og returnerer med en passende respons som definert.

Hvis du liker å bruke forespørselsklassen, må du definere den i kontrollerfunksjonen. Og du kan få alle data ved hjelp av

$ forespørsel-> alle ()

Her er en gammel metodekode som er

Kode-

publicFunctionDatastore (forespørsel $ forespørsel)
$ validator = validator :: make ($ request-> all (), [
'e -post' => 'påkrevd | unik: brukere | maks: 255',
'navn' => 'påkrevd',
]);
if ($ validator-> mislykkes ())
Returnredirect ('Post/Create')
-> Witherrors ($ validator)
-> innenfor ();

Å skrive valideringslogikken i prosjektkontrolleren vil bryte prinsippet om enkeltansvar. Vi vil vite at når klassen vår er endret, så endres ansvaret også, så det avhenger av kravene endres over tid i prosjektet vårt. Så det er veldig vanskelig å administrere i en enkelt klasse med mange ansvarsområder.

Trenger nå å kjøre denne kommandoen for å opprette en forespørselsklasse.

PHP Artisan Make: Be om UserDataStoreRequest

Den vil opprette en PHP -fil under app \ http \ forespørsler. UserDataStoreRequest -filen ser slik ut

Denne forespørselsklassen kom med to standardmetoder en er Auth (), og en annen regler (). Du kan kjøre hvilken som helst autorisert logikk i Auth () -metoden. Håndtakene om vår nåværende bruker har lov til å utføre en forespørsel eller ikke. I reglene () -metoden kan du bruke din valideringsregel. Det er en mer tilleggsmetode som heter meldinger () hvor du kan bruke dine egne skjemavalideringsmeldinger. Som om du liker å angi din egen melding for et passordvalideringseksempel- et passord må være 10 tegn lang. Du kan sende denne meldingen ved hjelp av denne meldingen () -metoden.

Test nå UserController for å bruke vår UserDataStoreRequest. Du kan ringe vår forespørselsklasse, og den vil automatisk validere før din kontrollfunksjon kalles. Vi oppretter en ny kontroller som heter Datavalidation Controller

Deretter legger du til denne koden i kontrolleren

publicFunctionStore (UserDataStoreRequest $ forespørsel)

$ validator = $ forespørsel-> validert ();
if ($ validator-> mislykkes ())
Returnredirect ('Validetortest')
-> Witherrors ($ validator)
-> innenfor ();

Så vår datavalidasjonskontroller ser nå slank og lett å vedlikeholde. Dessuten vår datavalidasjonskontroller trenger ikke å tenke på den forespurte valideringslogikken. Vi har vår egen valideringsklasse som har vårt eget ansvar for å håndtere valideringsforespørsler og la datavalidasjonskontrolleren gjøre sitt arbeid.

Nå vil vi legge til meldingsmetoden i vår UserDatastore Request -fil

Det ser slik ut etter å ha lagt til meldingsvalidering.

PublicFunctionMessages ()

komme tilbake [
'E -post.påkrevd '=>' E -post kreves!',
'Navn.påkrevd '=>' Navn kreves!',
'passord.påkrevd '=>' Passord kreves!'
];

All kode ser slik ut

Konklusjon

På denne måten kan du definere valideringskoden din med en forespørsel. Denne koden vil hjelpe deg med å identifisere dataforespørsler og valideringsreglene hvorfor de er viktige for et prosjekt.