Jump to content

Huisnummer probleem


ModaParisNina

Recommended Posts

Hii,

Als klanten afrekenen en hun adres moeten invullen vergeten ze vaak hun huisnummer in te vullen. Maar ze krijgen dan geen foutmelding van 'U bent uw huisnummer vergeten' maar kunnen ze gewoon door met bestellen en dan zie ik geen huisnummer bij de klanten.

Weet iemand waar je instelt dat je een foutmelding dan krijgt 

Mvg,

Www.ModaParis.nl

Ps ik gebruik prestashop 1.6.1.11

Link to comment
Share on other sites

Hallo ModaParisNina,

 

Je kunt de validatie van het veld aanpassen zodat mensen verplicht zijn er ook een getal in te voeren.

Wanneer mensen geen getal invoeren zal het veld rood worden, en pas groen worden zodra er ook een getal instaat.

Je kunt de vertaling van het veld dan aanpassen van 'adres' naar 'Straatnaam en huisnummer' bijvoorbeeld.

 

Hiervoor moet je wel een paar bestanden aanpassen.

in Classes > Validate.php rond regel 353 moet je de functie isAddress aanpassen van:

return empty($address) || preg_match(Tools::cleanNonUnicodeSupport('/^[^!<>?=+@{}_$%]*$/u'), $address);

Naar:

return empty($address) || preg_match(Tools::cleanNonUnicodeSupport('([a-zA-Z].*[0-9]|[0-9].*[a-zA-Z])'), $address);

 

in Js > Validate.js op regel 116 de functie validate_isAddress(s):

var reg = /^[^!<>?=+@{}_$%]+$/;

Aanpassen naar:

var reg = /^[a-zA-Z].*[0-9]|[0-9].*[a-zA-Z]+$/;

 

  • Like 1
Link to comment
Share on other sites

  • 1 month later...

Een kleine aanvulling die ervoor zorgt dat de foutmelding verandert in "Adres1 is niet ingevuld of bevat geen huisnummer":

Je moet daarvoor de file /controllers/front/AddressController.php aanpassen in de functie processSubmitAddress() rond regel 175.

Na de regel 

$this->errors = array_merge($this->errors, $address->validateFieldsRequiredDatabase());

voeg je toe

		if(isset($this->errors["address1"]))
			$this->errors["address1"] = "<b>Adres1</b> is niet ingevuld of bevat geen huisnummer";

Als je een meertalige webshop hebt wordt het uiteraard iets ingewikkelder...

Link to comment
Share on other sites

  • 3 months later...

Ik krijg het niet voor elkaar om de foutmelding aan te passen. Ik heb de stappen zoals hierboven beschreven staan toegepast. De validatie van het adres gaat nu correct. Zonder huisnummer wordt de standaard foutmelding getoond "Adres1 is ongeldig".

Dit is zo generieke foutmelding dat ik deze ook niet via vertalingen kan aanpassen.

Ik gebruik prestashop 1.6.1.18.

Ik heb ook geprobeerd om direct als eerste regel in functie processSubmitAddress() een foutmelding weg te schrijven.

  $this->errors[] = Tools::displayError('AdressController - Debug.');

Ook deze wordt niet getoond. Ik heb cache geleegd etc.

Enig idee wat ik over het hoofd zie ?

Link to comment
Share on other sites

  • 2 years later...
11 uren geleden, johanmeer zei:

Hallo, in prestashop 1.7.5 krijg ik een 500 internal server error als ik Validate.php en Validate.js verander met de aanbevolen wijzigingen. Iemand een idee hoe ik deze wijzigingen in 1.7.5 wel voor elkaar krijg? 

 

 

Dit is een oud topic mbt PS 1.6. Open hiervoor een nieuwe post in de juiste categorie met zoveel mogelijk info.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...