Hallo, lieber Forumbenutzer. Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen Möglichkeiten der Kommunikation ist das Forum ein wenig eingeschlafen und weniger Nutzer benutzen das Forum aktiv (trotzdem lohnt es sich evtl. hier nach Lösungen zu suchen oder seine Frage zu stellen).

Wir empfehlen, für deine Fragen/Probleme aktuell (zusätzlich) Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: http://redaxo.org/slack/
timeceeper
Beiträge: 1
Registriert: 12. Dez 2018, 19:07

yform validierung mit abhängigkeiten

12. Dez 2018, 19:21

Hallo Zusammen,

trotz doku un internet suche schaffe ich es nicht, einige Formularfelder nach bestimmten Abhängigkeiten zu prüfen.

z.B. möchte ich eine adresse etc. erst auf "empty" prüfen, wenn eine checkbox aktiviert ist.

das Formular siet ungefähr so aus:

Code: Alles auswählen

$yform->setValueField('checkbox', array("diff_shipping_address", "Abweichende Lieferadresse"));

$yform->setValueField('text', array("shipping_firstname", "Vorname"));
$yform->setValueField('text', array("shipping_lastname", "Nachnamen"));
...
jetzt soll das erst validiert werden, wenn diff_shipping_address checked ist.

Code: Alles auswählen

$yform->setValidateField('empty', array("shipping_firstname", "Bitte einen Vorname eingeben."));
$yform->setValidateField('empty', array("shipping_lastname", "Bitte einen Nachnamen eingeben."));
...
erst habe ich versucht, das mit $yform->getFieldValue zu lösen:

Code: Alles auswählen

$diff_shipping_address = $yform->getFieldValue('diff_shipping_address');
if($diff_shipping_address){
    $yform->setValidateField('empty',..
     ....
}
aber das geht nicht.
$diff_shipping_address ist immer NULL


Ich habe es auch mit einer customfunction versucht,

Code: Alles auswählen

$yform->setValidateField('customfunction', array("diff_shipping_address", "my_class::validate_diff_shipping"));
Und da bekomme ich 4 Argumente geliefert, aber kann mit dem letzten nichts anfangen.

Gibt es da eine Lösung?

vielen Dank
Grüße
Andy

Benutzeravatar
Peter.Bickel
Beiträge: 1860
Registriert: 25. Jan 2005, 21:17
Wohnort: Schleswig-Holstein
Kontaktdaten: Website

Re: yform validierung mit abhängigkeiten

20. Jan 2019, 19:13

Falls es noch aktuell ist – das müsste so in der Art funktionieren:

Code: Alles auswählen

if (rex_request('diff_shipping_address','int','') == 1) {
$yform->setValidateField('empty', array("shipping_firstname", "Bitte einen Vorname eingeben."));
$yform->setValidateField('empty', array("shipping_lastname", "Bitte einen Nachnamen eingeben."));
}

Zurück zu „Module/Aktionen [R5]“