Magento – Geburtstag / Geburtsdatum im August (08) und September (09) gehen nicht

BildBei unserer Magento 1.5.1.0 Installation fiel einem Kunden auf, dass er seinen Geburtstag nicht eingeben konnte, da das System ihm mitteilte “Please enter a valid full date” oder eben entsprechend auf deutsch.

Nach einer kleinen Prüfung stellte sich heraus, dass ausschließlich die Monatszahlen 08 für August und 09 für September nicht funktionierten. Alle anderen Monate klappten. Auch die Tages- oder Jahresangabe war nicht relevant. Nur diese beiden Monate brachten die Fehlermeldung. Dieses Problem fiel auf bei der normalen Kundenregistrierung bzw. dem Versuch sich anzumelden, wie auch im Checkout selber beim Versuch ein Benutzerkonto anzulegen.

Gelöst haben wir das Problem indem wir in der js.js im Ordner /js/varien/ ca. in Zeile 438 folgendermaßen geändert haben:

var error = false, day = parseInt(this.day.value) || 0, month = parseInt(this.month.value) || 0, year = parseInt(this.year.value) || 0;

zu

var error = false, day = parseInt(this.day.value, 10) || 0, month = parseInt(this.month.value, 10) || 0, year = parseInt(this.year.value, 10) || 0;

Nach einem Cachereload funktionierte dann auch die Eingabe der beiden Monate problemlos.

Genutzt in Magento Version 1.5.1.0 Kommentare? Ergänzungen? Hinweise? Gerne!

Published by Covos

Seit 2009 arbeite ich nun intensiv mit Magento. Begonnen habe ich mit der Erstellung und dem Betrieb von B2C-Shops. Ausgeweitet wurde dies durch meine Tätigkeit im Logistik-Sektor. Hieraus entstanden erste spezialisierte B2E-Systeme. Heute arbeite ich tag-täglich mit spannenden B2C-, B2B- und B2E-Projekten und berichte in diesem Blog über Herausforderungen und gebe Insider-Tipps.

One comment on “Magento – Geburtstag / Geburtsdatum im August (08) und September (09) gehen nicht”

  1. sehr schön.. jetzt per Zufall gefunden! Hatte selbes Problem ..

    parseInt() geht wohl wenn keine Basis mitgeliefert wird bei “08” und “09” von ‘nem oktalen Wert aus und interpretiert die Zahl als 0 => ist aber “not valid”. Erst nachdem die Basis als Dezimal gesetzt wird, stimmt auch die Validierung! Bene..

Leave a Reply to c3labs

Your email address will not be published. Required fields are marked *