Seite 1 von 1

we:ifNotWritten type="customer" Probleme mit und ohne "onerror"

Verfasst: Sa 10. Nov 2018, 13:29
von Scarabaeus
Hallo zusammen!

Ich hab zwar schon in einem anderen post einmal danach gefragt, aber vielleicht war es dort ein wenig untergegangen.
Zwischenzeitlich konnte ich durch einige Korrekturen in meinen Temmplate(s) einige Fortschritte erzielen, dennoch treiben mich aber zwei Fragen (Probleme) um, die ich einfach nicht auf die Reihe bekomme.

Vielleicht kann mir ja doch jemand auf die Sprünge helfen?

In nachstehendem Konstrukt habe ich innerhalb eines Templates eine Kudenregistrierung implementiert und dort auch die entsprechenden Abfragen eingebaut.

Erstes Problem:
Bei

Code: Alles auswählen

<we:ifNotWritten type="customer" name="Username" onerror="userexists" formname="Registrierung"> 
gelingt es mir nicht, meine eigene Meldung auf die Seite zu bringen. Es erscheint immer - und zwar egal ob das Attribut "onerror" implementiert ist, oder nicht, das JavaScript-Fenster.
<script><!--
alert("Der Kundenname `nick` existiert schon!");
//-->
</script>
Frage: gibt es hier eine Lösung oder ist das so fest im System hinterlegt?

Zweites Problem:
Bei

Code: Alles auswählen

<we:ifNotWritten type="customer" name="Password" onerror="passwordRule" formname="Registrierung">
kommt überhaupt keine Meldung auf, weder als JS-Fenster, noch im Quelltext. Abe auch hier hätte ich gerne meine eigene Meldung angezeigt (siehe Quellcode unten)

WE-Versionen: sowohl 8.0.4, als auch 8.0.4.1, PHP 7.2

Code: Alles auswählen

<we:ifNotVarEmpty name="Absenden" type="post">
<we:ifNotCaptcha formname="Registrierung" name="captcha">  
<span class="error">Bitte richtigen Zahlencode angeben</span>
<we:else />
<we:ifNotWritten type="customer" name="Username" onerror="userexists" formname="Registrierung">
<span class="error">Der Benutzername ist ungültig, bitte wähle einen anderen Benutzernamen</span>
<we:else />
<we:ifNotWritten type="customer" name="Password" onerror="passwordRule" formname="Registrierung">
<span class="error">Passwort-Fehler: 6 bis 20 Zeichen erforderlich!</span>
<we:else />
<we:saveRegisteredUser register="true" passwordRule="(.{6,20})" allowed="Username,Password,Email,Land,Mitgliedslevel_UserLevel" />
</we:ifNotWritten>
</we:ifNotWritten>
</we:ifNotCaptcha>
</we:ifNotVarEmpty>

<we:ifRegisteredUser>
<we:sessionField name="ID" type="hidden" />
<we:sessionField name="Mitgliedslevel_UserLevel" value="User" type="hidden" />
<we:sessionField type="print" name="Email" to="global" nameto="webuserEmail" />
<we:sessionField type="print" name="Username" to="global" nameto="webuserUsername" />
<we:sendMail id="56" ..... />

<h3>Willkommen!</h3>
<p>Hallo <we:sessionField name="Username" id="username" type="print" />,</p>
<we:textarea name="txtInfo" />

<we:else />
    
<we:form name="Registrierung" id="self" method="post" xml="true">
<we:sessionField name="ID" type="hidden" />
<we:sessionField name="Mitgliedslevel_UserLevel" value="User" type="hidden" />
<we:sessionField name="Username" id="username" class="input100" type="textinput" placeholder="Benutzer-/Nickname*" />
<we:sessionField name="Password" id="password" class="input100" type="password"  placeholder="Dein Passwort (6 bis 20 Zeichen)*"/>
<we:sessionField name="Email" id="email" class="input100" type="textinput" placeholder="Deine E-Mail-Adresse*"/>
<we:captcha width="150" height="35" maxlength="6" alt="Registrierung" ..... />
<input type="text" name="captcha" class="cacode50" size="6" maxlength="6" placeholder="Captcha Code*" />
<input type="submit" class="btn" name="Absenden" value="Jetzt registrieren">						
</we:form>
</we:ifRegisteredUser>
Wäre für jeden Hinweis dankbar.

Re: we:ifNotWritten type="customer" Probleme mit und ohne "onerror"

Verfasst: Sa 10. Nov 2018, 14:02
von mokraemer
1. Problem:
war ein Fehler, ist im nightly behoben. Das Attribut "onerror" gibt es nicht.
2. ifNotWritten kann ja nur NACH we:saveRegisteredUser funktionieren! Deine Prüfung kommt aber vorher!

Re: we:ifNotWritten type="customer" Probleme mit und ohne "onerror"

Verfasst: Sa 10. Nov 2018, 14:44
von Scarabaeus
hallo mokraemer,

erst mal vielen Dank für Deine schnelle Antwort. Jetzt fällt der Groschen bei mir. Da hätte ich wirklich selbst drauf kommen können.
Nun warte ich gerne einmal auf das nächste nightly.
Das Attribut "onerror" gibt es nicht.
verwirrt mich ein wenig, den in der Tag Referenz ist genau dies bei we:ifNotWritten beschrieben bzw. ausgeführt.
Darüber hinaus hattest Du das auch im post von viewtopic.php?f=87&t=41429#p100772 geschrieben.

Ist das zwischenzeitlich nicht mehr gültig?

Re: we:ifNotWritten type="customer" Probleme mit und ohne "onerror"

Verfasst: So 11. Nov 2018, 12:05
von mokraemer
sorry, vergiß das mit onerror. ich hab mich da verschaut.