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/
zockerwurf
Beiträge: 23
Registriert: 11. Aug 2016, 18:09

yform - Ergebnis der Validation

19. Jan 2017, 12:33

Hallo Leute

Ich probiere mich aktuell an einem Formular mit yform. Konkret habe ich ein Modul, welches den PHP-Block ausgibt. In diesem PHP-Block habe ich zum Beispiel folgenden Code:

Code: Alles auswählen

$yform = new rex_yform();
$yform->setObjectparams('form_action', rex_getUrl(REX_ARTICLE_ID, REX_CLANG_ID));
$yform->setObjectparams('submit_btn_show',0);

$yform->setValueField('text', array("prename",'Feld 1'));
if ($button == 1)
$yform->setValidateField('empty', 'Fehler1'));

$yform->setValueField('text', array("prename2",'Feld 2'));
if ($button == 1)
$yform->setValidateField('empty', array("prename2", 'Fehler2'));

$yform->setValueField('text', array("prename3",'Feld 3'));
if ($button == 1)
$yform->setValidateField('empty', array("prename3",'Fehler3'));

$yform->setValueField('html', array("button", '<button type="submit" class="btn btn-primary" name="button1" value="1">Abschicken</button>'));
$yform->setValueField('html', array("button", '<button type="submit" class="btn btn-primary" name="button1" value="2">Senden</button>'));

$yform->setActionField('html', array("Daten gespeichert"));

echo $yform->getForm();

Zugegeben, der Code mag nicht besonders viel Sinn machen, bin hier aber was am Ausprobieren für etwas grösseres.

Ich möchte in diesem Code jetzt zusätzlich wissen, ob die Validation erfolgreich war oder nicht. Aktuell wird ja nur verglichen, welcher Button gedrückt wurde [if ($button == 1)], ich möchte dies jedoch noch mit der Validation koppeln. In den yform-Klassen finde ich diese ja unter anderem auch in der $this-Variable (z.B. $this->params['warning_messages']). Da ich mich jedoch in diesem Modul (in welchem der PHP-Code ausgeführt wird) innerhalb einer anderen Klasse befinde, habe ich darauf keinen Zugriff. Hat jemand eine Idee, wie ich an diese Infos der Validation komme?

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

Re: yform - Ergebnis der Validation

19. Jan 2017, 18:12

Hej,

Code: Alles auswählen

$button = rex_request('button1', 'int', 0);
vg Thomas

zockerwurf
Beiträge: 23
Registriert: 11. Aug 2016, 18:09

Re: yform - Ergebnis der Validation

20. Jan 2017, 22:43

Thomas.Blum hat geschrieben:Hej,

Code: Alles auswählen

$button = rex_request('button1', 'int', 0);
vg Thomas
Hmm.. Da bekomme ich

Code: Alles auswählen

Class does not exist "rex_yform_value_"
Und $button beinhaltet nach dem Klick entweder 1 oder 2... Aber das liefert mir ja keine Auskunft über die Validation, sprich ob allenfalls ein Feld leer gelassen wurde oder nicht?

Zurück zu „AddOns / Packages [R5]“