Submit vom swRegister Plugin abfangen

Guten Morgen,

ich Frage bei der Account-Registrierung, mit $.overridePlugin(‘swRegister’, { … die Eingabe des Geburtsdatums ab. Das funktioniert auch soweit. Mit der CSS-Klasse “has-error” markiere ich alle drei Datumfelder als invalid. Leider besteht noch die Möglichkeit den Submit abzufeuern. Kann mir vielleicht jemand einen Ansatz geben, wie bis zur vollständigen Validierung der Datumsfelder, der Submit-Event unterbunden werden kann?

 

Vielen Dank und beste Grüße
Michael

Ich fische leider immer noch im Trüben. Hat niemand einen Lösungsansatz für mich?

Vielen Grüße
Michael

Du musst das Input Feld noch als Invalid markieren. Dann wird das Formular nicht abgeschickt.

Hallo arnebecker,

verwendet Shopware auch die Method setCustomValidity? Mit der Quelltext-Suche konnte ich diesbezüglich nichts finden.

Ich habe das Problem jetzt erst einmal wie folgt lösen konnen. Bin mir aber nicht sicher, ob das ein guter Weg ist?

 

    $.overridePlugin('swRegister', {

 
        onSubmitBtn: function (event) {
            var me = this,
                validBirthdate = me.onValidateBirthdate();

            me.superclass.onSubmitBtn.apply(this, arguments);

            if ( validBirthdate !== true ) {
                event.preventDefault();
            }
        }



    });

 

Was denkst du?

 

Vielen Dank und beste Grüße
Michael

Moin Michael,

nein, Shopware nutzt einfach nur das Required Attribut am Input Feld. Jenachdem was du in me.onValidateBirthdate() tust würde vielleicht für dich auch das pattern Attribut an an deinem Geburtstags Inputfeld ausreichen. Dann brauch du gar kein Override.

Wenn dein Override so funktioniert wie gepostet, ist das aber auch okay.