Diese Webseite verwendet Cookies. Diese werden z.B. für statistische Zwecke verwendet. mehr Informationenschließen
Aufklappen
Zuklappen

Archiv

2014 (65)
2013 (151)

tt_products E-Mail-Validierung

22. Februar 2013 - IT

Die Erweiterung tt_products ist eine der bekanntesten und am häufigsten genutzten Shop-Extensions für TYPO3. Sie ist gut dokumentiert und lässt sich vergleichsweise einfach an bestehende Layouts anpassen.

Neben der immer etwas älteren OpenSource-Version bietet der Entwickler die neuste Version für einen überschaubaren Betrag an.

Ein kleines Manko - welches nach meiner Info auch in der neusten Version noch nicht behoben ist - ist, dass die Mailadresse bei Eingabe der Kundendaten nicht validiert wird. Bounces durch nicht erreichbare Mailadressen oder gar lästiger Spam können die Folge sein.

Mit ein paar Zeilen JavaScript lässt sich recht einfach eine simple Validierung erreichen.

jQuery.noConflict();
jQuery(document).ready(function() {
   // #mailckeck wäre die ID des Emailfeldes
    jQuery('#mailcheck').blur(function() { 

    jQuery(".error").hide();
   //#weiter wäre die ID des weiter-Buttons
    jQuery('#weiter').removeAttr('disabled');
    var hasError = false;
    var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
    //var emailblockReg = /^([\w-\.]+@(?!gmail.com)(?!yahoo.com)(?!hotmail.com)([\w-]+\.)+[\w-]{2,4})?$/;

    var emailaddressVal = jQuery("#mailcheck").val();
    if(emailaddressVal == '') {
      jQuery("#UserEmail").after('<span class="error">Bitte Mailadresse eingeben!</span>');
      hasError = true;
      jQuery('#acceptagb').attr('disabled','disabled')
    }

    else if(!emailReg.test(emailaddressVal)) {
      jQuery("#mailcheck").after('<span class="error">Bitte eine korrekte Mailadresse eingeben!</span>');
      hasError = true;
      jQuery('#acceptagb').attr('disabled','disabled')
    }

    //else if(!emailblockReg.test(emailaddressVal)) {
    //  jQuery("#UserEmail").after('<span class="error">Keine Freemail adressen (auskommentiert...).</span>');
    //  hasError = true
    //}

    if(hasError == true) { return false; }

    });
});

Sobald das E-Mail-Feld nach einem Eintrag verlassen wird, wird die E-Mailadresse nach den definierten Kriterien geprüft. Fällt die Prüfung negativ aus, so wird der weiter-Button deaktiviert. Wenn alles passt, wird der Button wieder aktiviert.

Um Spam abzuhalten, wäre es sinnvoll den weiter-Button standardmäßig zu deaktivieren.

Das nützliche Script zur jQuery E-Mail-Validierung habe ich mehr oder minder 1 zu 1 von hier und lediglich auf tt_products angewendet.

Die Kommentarfunktion ist für diesen Artikel deaktiviert.

0 Kommentare