[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
rex_form Eingaben-Validierung - REDAXO Forum
Hallo,

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 und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme 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: https://redaxo.org/slack/
Benutzeravatar
redphill
Beiträge: 20
Registriert: 21. Aug 2008, 22:17
Wohnort: Dresden
Kontaktdaten: Website

rex_form Eingaben-Validierung

27. Jul 2011, 20:15

Hallo,

gibt es eine Möglichkeit ein über rex_form generiertes Formular vor dem Speichern zu validieren? Und Wenn ja, wie? Ich arbeite derzeit an einem AddOn und würde ungern alle Formulare "per Hand" programmieren.

Besten Dank im Vorraus!

Benutzeravatar
redphill
Beiträge: 20
Registriert: 21. Aug 2008, 22:17
Wohnort: Dresden
Kontaktdaten: Website

Re: rex_form Eingaben-Validierung

1. Aug 2011, 18:02

Keiner ne Idee!?!?!

Benutzeravatar
littledave
Beiträge: 144
Registriert: 25. Jan 2006, 14:04
Wohnort: Coburg, Germany

Re: rex_form Eingaben-Validierung

1. Aug 2011, 21:35

Ja. Um die rex_form-Felder validieren zu können, muss man die rex_form Klasse bzw. die validate()-Methode erweitern.

Beispiel:

Code: Alles auswählen

<?php
class myform_rex_form extends rex_form {	

	/**
	 * Validiert die Eingaben.
	 * Gibt true zurück wenn alles ok war, false bei einem allgemeinen Fehler oder
	 * einen String mit einer Fehlermeldung.
	 *
	 * Eingaben sind via
	 *   $el    =& $this->getElement($fieldSetName, $fieldName);
	 *   $val   = $el->getValue();
	 * erreichbar.
	 */   
	function validate(){
		$errors = array();
		$el1    = &$this->getElement('General', 'title');
		$val1   = $el1->getValue();
		if ($val1=="") {
			$errors[] = 'Bitte Titel angeben.';
		}
		
		if (!empty($errors)) {
			// fehlermeldung(en) ausgeben
			return implode('<br /><br/>',$errors);
		} else {
			// alles gut
			return true;
		}
	}

}
?>
lg

Dave

Benutzeravatar
redphill
Beiträge: 20
Registriert: 21. Aug 2008, 22:17
Wohnort: Dresden
Kontaktdaten: Website

Re: rex_form Eingaben-Validierung

2. Aug 2011, 10:42

Salve Dave,

vielen Dank. Werd das mal probieren. Eigentlich schade, dass es "von Haus aus" keine Validierung gibt.

So long ...

Benutzeravatar
littledave
Beiträge: 144
Registriert: 25. Jan 2006, 14:04
Wohnort: Coburg, Germany

Re: rex_form Eingaben-Validierung

2. Aug 2011, 12:19

Hi Redphill,

die rex_form Datei muss nicht unbedingt modifiziert werden, sondern man legt eine neue Klasse an, die von deinem Code angesprochen wird.

z.B.
statt

Code: Alles auswählen

$form = new rex_form(...);
einfach:

Code: Alles auswählen

include "myform.inc.php"; // je nachdem, wo du deine Klasse angelegt hast.
$form = new myform_rex_form(...);
lg

Dave

Benutzeravatar
redphill
Beiträge: 20
Registriert: 21. Aug 2008, 22:17
Wohnort: Dresden
Kontaktdaten: Website

Re: rex_form Eingaben-Validierung

2. Aug 2011, 12:24

Hallo Dave,

bereits erledigt. Da es ein AddOn wird, würde ich niemals den redaxo Core anfassen ;-).

So long, redphill

Zurück zu „Allgemeines [R4]“