Laravel formvalidering ved bruk av kontroller

Laravel formvalidering ved bruk av kontroller
Skjemaet er en integrert del av Laravel -prosjektet. Innloggingsskjemaet, registreringsskjemaet og kontaktskjemaet er hovedsakelig brukt skjemaer for besøkende på en hvilken som helst webapplikasjon. Brukeren sender inn dataene til applikasjonen ved å bruke skjemaet. Det er viktig å sjekke dataene som er sendt inn av brukeren er ekte, og den gyldige brukeren sender inn dataene. Skjemadataene kan valideres ved å bruke Formrequest -klasse eller Laravel Project Controller -metoden. Laravel -skjemavalidering ved bruk av kontrolleren er vist i denne opplæringen ved å lage et enkelt kontaktskjema.

Forutsetninger:

Du må fullføre følgende oppgaver før du starter trinnene i denne opplæringen.

Lag et nytt Laravel -prosjekt som heter ValidationProject. Her, The komponist har blitt brukt til å lage Laravel -prosjektet. Hvis komponist er ikke installert før da, du må installere den før du utfører følgende kommando.

$ komponist Create-Project Laravel/Laravel ValidationProject

Gå til prosjektmappen.

$ CD ValidationProject

Alle eksempler på denne opplæringen er testet i Laravel versjon 9+. Sjekk den installerte versjonen av Laravel.

$ php håndverksversjon

Bootstrap -pakken er pålagt å installere for implementering av det responsive kontaktskjemaet. Kjør følgende kommandoer for å installere Bootstrap for prosjektet.

$ komponist krever laravel/ui -dev
$ PHP Artisan UI Bootstrap
$ npm install && npm run Dev

Oppsettdatabase:

Du må opprette en database i MySQL for å implementere databasen Seeding Task. Fullfør følgende oppgaver for å opprette en database og sette opp databasen for Laravel -prosjektet.

Logg inn på MySQL -serveren og kjør følgende SQL -kommando for å opprette en database som heter db_validering fra MySQL -ledeteksten.

mysql> Opprett database db_validasjon;

Åpne .env Fil av Laravel -prosjektet og initialiserer verdiene for følgende informasjon basert på databasen.

Db_connection = mysql
Db_host = localhost
DB_PORT = 3306
Db_database = db_validasjon
Db_usname = "brukernavn"
Db_password = "passord"

Lag en modell- og migrasjonsfil for tabellen

Gå til Laravel Project -mappen og kjør følgende kommando for å opprette modell- og migrasjonsfilen for kontakttabellen.

$ PHP Artisan Make: Model Contactform -M

Etter å ha utført kommandoen ovenfor, vil det opprettes en modellfil og en migrasjonsfil. Migrasjonsfilen vil bli pålagt å endre for å legge til feltene til KONTAKT_FORMER Tabell, og det er gjort i neste del av opplæringen.

Endre migrasjonsfilen:

Åpne den nyopprettede migrasjonsfilen Endre opp() Funksjon med følgende innhold. I følge skriptet vil Contact_Forms -tabellen inneholde 7 felt. Dette er ID, navn, e -post, emne og melding opprettet og oppdatert på felt.

offentlig funksjon opp ()

Skjema :: create ('contact_forms', funksjon (blåkopi $ tabell)
$ tabell-> id ();
$ tabell-> streng ('navn');
$ tabell-> String ('e-post');
$ tabell-> String ('emne');
$ tabell-> String ('melding');
$ tabell-> tidsstempler ();
);

Lag tabellen:

Kjør følgende kommando for å utføre migrasjonsfilen og opprette KONTAKT_FORMS Tabell inn i databasen.

$ php håndverker migrerer

Opprett en kontroller for å validere kontaktskjemaet:

Kjør følgende kommando for å opprette en kontroller for å validere kontaktskjemaet. Etter å ha utført kommandoen, ContactformController.PHP -fil vil bli opprettet i mappen APP/HTTP/Controllers.

$ PHP Artisan Make: Controller ContactformController

Åpne ContactformController.PHP fil og erstatt filens innhold med følgende innhold.

validere([
'navn' => 'påkrevd | maks: 50',
'e -post' => 'påkrevd | e -post | maks: 255',
'emne' => 'påkrevd | maks: 100',
'melding' => 'påkrevd | maks: 255',
]);
\ App \ modeller \ kontaktform :: create ($ validateddata);
Returrespons ()-> JSON ('Meldingen er sendt.');

Legg til rute for kontaktskjemaet:

Åpne Web.PHP fil fra ruter mappe og legg til følgende linje på slutten av filen. Den første ruten vil bli brukt til å vise kontaktskjemaet og sjekke de innsendte dataene er gyldige eller ikke. Den andre ruten vil bli brukt til å lagre dataene fra kontaktskjemaet i databasetabellen,

Rute :: Get ('Kontakt', 'App \ http \ Controllers \ contactformController@create')-> name ('skjema.skape');
Rute :: Post ('Kontakt', 'App \ http \ Controllers \ ContactformController@Store')-> Navn ('Form.butikk');

Endre modellfilen:

Åpne kontaktformen.PHP -fil fra appen App/Models og erstatt innholdet med følgende innhold for å nevne de obligatoriske feltene i KONTAKT_FORMER bord.

namespace -app \ modeller;
Bruk Illuminate \ Database \ Eloquent \ Factories \ Hasfactory;
Bruk Illuminate \ Database \ Eloquent \ Model;
classContactFormextendsModel

usehasfactory;
beskyttet $ fillable = ['name', 'e -post', 'emne', 'melding'];

Lag visninger for kontaktskjemaet:

Lage en oppsett.blad.PHP fil inne i Ressurser/visninger mappe med følgende innhold som vil bli brukt til å legge til nødvendige CSS- og JS -filer.







Formvalideringsopplæring




@yield ('innhold')



Lag en annen visningsfil som heter skape.blad.PHP med følgende innhold for å vise det responsive kontaktskjemaet.

@Extends ('Layout')
@Section ('Innhold')



Kontakt skjema


@if ($ feil-> hvilken som helst ())


    @foreach ($ feil-> alle () som $ feil)
  • $ feil

  • @endforeach



@slutt om


@csrf



















@endsection

Test applikasjonen:

Gå til prosjektmappen og kjør følgende kommando fra terminalen for å starte Laravel Development Server.

$ PHP Artisan server

Åpne følgende URL fra nettleseren for å vise kontaktskjemaet.

http: // 127.0.0.1: 8000/kontakt

Følgende kontaktskjema vises hvis alle ovennevnte trinn er utfylt riktig.

Sett inn data i feltene og klikk på Sende inn knapp. Her er en ugyldig e -postadresse satt inn.

Følgende utdata vises for å sende inn den ugyldige e -postadressen.

Følgende utdata vises hvis kontaktskjemaet sender inn alle gyldige data. Du kan sjekke innholdet i KONTAKT_FORMER tabell for å bekrefte om dataene fra kontaktskjemaet er lagret eller ikke.

Konklusjon:

En av de enkle måtene å implementere validering av laravel skjema har blitt vist i denne opplæringen ved å bruke et enkelt kontaktskjema. Jeg håper Laravel -brukere vil kunne gjøre formvalideringsoppgaven enkelt ved å bruke kontrolleren etter å ha lest denne opplæringen.