[Laravel/PHP] Valideren van input postcodes/getallen

Pagina: 1
Acties:
  • 1.015 views

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

  • THERTH
  • Registratie: Februari 2021
  • Laatst online: 03-09-2021
Beste Tweakers,

Ik zou graag advies/vraag willen krijgen over hoe ik een bepaalde functie het meest efficiënt kan ontwikkelen.

Het gaat hierbij om het valideren van postcodes/getallen. Ik wil een hier een CRUD-systeem op los laten.
Hierin is het mogelijk om een startgetal in te voeren (bijvoorbeeld 1000) en een eindgetal (1200). Dat zijn twee velden die los van elkaar opgeslagen worden in de database.

In de blade file een form met een input veld die verwijst naar de functie in de controller om te valideren wat er als request meegestuurd is zodra er op de submit button geklikt wordt.

Op dat laatste onderdeel wil ik dus de validatie loslaten. Dus als het getal groter of kleiner is dan het startgetal, eindgetal en alles wat daar tussen valt moet die false teruggeven en mocht het getal binnen het startgetal en eindgetal vallen dan wil ik graag true terugkrijgen.

Is de manier die ik nu ingedachten heb een manier om dit te ontwikkelen of slaat dit compleet nergens op?

Voor de techneuten onder ons: Ik maak gebruik van Laravel 7.x.

Beste antwoord (via THERTH op 06-02-2021 19:34)


  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Je teksten zijn enigszins onduidelijk omdat je de helft van de wens vertelt, aangevuld met een helft techniek en een helft random Laravel jargon. :D

Als ik een poging doe in de taal van je domein:
- Je wil dus een aantal wijkcode reeksen (wijkcode is de term voor eerste 4 posities NL postcode, aka 4pp) beheren.
- Een reeks heeft een min en max code als eigenschap.
- Voor deze entiteit wil je saaie CRUD acties hebben.
- Daarnaast, wil je bij andere controller acties dus controleren of ingegeven postcode/wijkcode binnen de min en max van een van je reeksen gevonden kan worden.

Als dit het is, is het met Laravel een snelle invuloefening. :p

De uiteindelijke feature valt onder inputvidatie, maar gaat je niet lukken met een standaard statische Laravel validation rule dinges. Je zou iets van een Middleware of Request object kunnen toevoegen waar je de validatie in stopt.. maar als eerste versie zou ik het gewoon eerst met een eenvoudige query in de specifieke Controller doen. :)

[ Voor 20% gewijzigd door Voutloos op 06-02-2021 10:44 ]

{signature}

Alle reacties


Acties:
  • 0 Henk 'm!

  • jammo
  • Registratie: November 2020
  • Laatst online: 11-09 13:00
Ik heb werkelijk geen idee wat je bedoeling is, wat je geprobeerd hebt of waar je tegenaan loopt..

Als het alleen gaat om je controle of een waarde tussen 2 andere waardes ligt; maar afhankelijk van waar je data staat en wat je bedoeling precies is kan het ook in een query.

edit:
bijvoorbeeld iets in deze richting

SQL
code:
1
2
3
SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;


Code:
code:
1
2
3
if ( variable > start && variable < eind )
    return true;
return false;

[ Voor 32% gewijzigd door jammo op 05-02-2021 17:11 ]


Acties:
  • +1 Henk 'm!

  • DJMaze
  • Registratie: Juni 2002
  • Niet online
Postcodes is heel wat anders dan getallen.
Wat wil je?

Maak je niet druk, dat doet de compressor maar


Acties:
  • 0 Henk 'm!

  • THERTH
  • Registratie: Februari 2021
  • Laatst online: 03-09-2021
Dag Jammo,

Bedankt voor je antwoord. Ik zal dat eens proberen uit werken. Om het iets te verduidelijken is dit mijn idee:
- Een controller waarin de postcodes aangemaakt worden (startcijfer van de postcode range & eindcijfer van de postcode range (1000 t/m 1400 bijvoorbeeld).
- Blade file met een form + input veld waarin een postcode ingevoerd wordt.
- Tussen de start en eind range moet gevalideerd worden, zodra er op de submit button geklikt wordt, of die daar tussen valt. Zo ja, returnt die true zo niet dan returnt die false.

Afbeeldingslocatie: https://tweakers.net/i/mLjpxGHKQg4cUkOHyk32OC-TFbY=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/m6eWbzhsgBfFE9OaBeMWcIgz.png?f=user_large

Afbeeldingslocatie: https://tweakers.net/i/Cm3u6BpDRKteM22gkbhXW8xH258=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/w2feGKiVOko3jf5fnl8N4Wvn.png?f=user_large

@DJMaze Uiteindelijk postcodes, maar die gevalideerd wordt op de eerste 4 cijfers en niet op de letters die er achterkomen te staan.

Acties:
  • Beste antwoord
  • +1 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Je teksten zijn enigszins onduidelijk omdat je de helft van de wens vertelt, aangevuld met een helft techniek en een helft random Laravel jargon. :D

Als ik een poging doe in de taal van je domein:
- Je wil dus een aantal wijkcode reeksen (wijkcode is de term voor eerste 4 posities NL postcode, aka 4pp) beheren.
- Een reeks heeft een min en max code als eigenschap.
- Voor deze entiteit wil je saaie CRUD acties hebben.
- Daarnaast, wil je bij andere controller acties dus controleren of ingegeven postcode/wijkcode binnen de min en max van een van je reeksen gevonden kan worden.

Als dit het is, is het met Laravel een snelle invuloefening. :p

De uiteindelijke feature valt onder inputvidatie, maar gaat je niet lukken met een standaard statische Laravel validation rule dinges. Je zou iets van een Middleware of Request object kunnen toevoegen waar je de validatie in stopt.. maar als eerste versie zou ik het gewoon eerst met een eenvoudige query in de specifieke Controller doen. :)

[ Voor 20% gewijzigd door Voutloos op 06-02-2021 10:44 ]

{signature}


Acties:
  • +1 Henk 'm!

  • DJMaze
  • Registratie: Juni 2002
  • Niet online
@THERTH 1000 is een postbus.
1011 is een adres

En hoe zit dat met belgische/duitse adressen?
Ik ken zat Nederlanders die buiten NL wonen waar een factuur heen moet, maar bezorgen in NL.

Oftewel, zonder info heb je niks aan postcode validatie of een Laravel tabelletje.

[ Voor 12% gewijzigd door DJMaze op 06-02-2021 12:58 ]

Maak je niet druk, dat doet de compressor maar


Acties:
  • +1 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Hoop aannames DjMaze. Nergens staat dat je niet alsnog adresvalidatie of verrijking wil doen. Maar als je enkel in de buurt pizzaatjes bezorgt bijvoorbeeld, is een eerste restrictie op wijkcode een heel efficiente, gratis, stap. :)

{signature}


Acties:
  • 0 Henk 'm!

  • DJMaze
  • Registratie: Juni 2002
  • Niet online
Voutloos schreef op zaterdag 6 februari 2021 @ 15:21:
Maar als je enkel in de buurt pizzaatjes bezorgt bijvoorbeeld, is een eerste restrictie op wijkcode een heel efficiente, gratis, stap. :)
Oh jazeker!

Ik werk voor een landelijke voedsel bezorg service. De postcode bepaalt welk filiaal de bestelling krijgt (zelfs meerdere filialen binnen een stad).
Of dat het helemaal niet kan.

Ik werk ook voor hotels en evenementen, maar daar zijn klanten internationaal en soms zelfs uit een land die postcode geeneens kent.


Daarom handig te weten wat TS wil bereiken.

[ Voor 17% gewijzigd door DJMaze op 06-02-2021 19:24 ]

Maak je niet druk, dat doet de compressor maar


Acties:
  • 0 Henk 'm!

  • THERTH
  • Registratie: Februari 2021
  • Laatst online: 03-09-2021
@DJMaze Het is specifiek voor Nederlandse adressen. Maar wel top dat je zo scherp bent want heeft mij ook weer op wat extra ideeën gebracht.

Voor nu wil ik het gewoon heel standaard houden. Een webshop die aan een bepaalde regio/plaats/gemeente verkoopt. Mocht je daar als gebruiker binnen vallen dan kan je daar bestellen en anders niet.

Acties:
  • +1 Henk 'm!

  • DJMaze
  • Registratie: Juni 2002
  • Niet online
THERTH schreef op zaterdag 6 februari 2021 @ 19:33:
Voor nu wil ik het gewoon heel standaard houden. Een webshop die aan een bepaalde regio/plaats/gemeente verkoopt. Mocht je daar als gebruiker binnen vallen dan kan je daar bestellen en anders niet.
Kijk, dan heb je een mooi afgebakend stuk waar je mee werkt.
Dan is "bezorgen binnen straal van 10km" ook een optie ;)

Zo kon ik niet bij Jumbo bestellen omdat mijn straat 10 meter buiten hun bezorg straal lag, precies tussen twee filialen in...

[ Voor 12% gewijzigd door DJMaze op 07-02-2021 00:16 ]

Maak je niet druk, dat doet de compressor maar


Acties:
  • 0 Henk 'm!

  • THERTH
  • Registratie: Februari 2021
  • Laatst online: 03-09-2021
Heb het bovenstaande werkend gekregen, bedankt @jammo. _/-\o_

code:
1
$order->shipping_postalcode > $postalcode->postalcode_start && $order->shipping_postalcode < $postalcode->postalcode_end


Nu heb ik het volgende stuk waar ik niet uit kom. Ik maak gebruik van verschillende bezorg gebieden (die doormiddel van CRUD toegevoegd kunnen worden) met postcodes/wijkcodes binnen de min en max van een van de reeksen. Elk bezorg gebied heeft een x-bedrag aan bezorgkosten.

Het probleem waar ik nu tegen aan loop is dat hij alleen de eerste waarde vanuit de database ophaalt en valideert of dat overeenkomt met de postcode die door de gebruiker ingevoerd is.

Als voorbeeld:
Bezorg gebied 1 valt binnen 1100 & 1120. Validatie werkt.
Bezorg gebied 2 valt binnen 1200 & 1220. Validatie werkt niet.

Iemand een tip of idee?

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Ja, open daar even een nieuw topic voor (en hanteer daarbij, as always, onze Quickstart a.u.b.) want je (vervolg)vraag nu is niet meer dan een Kan iemand even...? ;)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1

Dit topic is gesloten.