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/
Benutzeravatar
bigh03
Beiträge: 32
Registriert: 20. Apr 2006, 16:02
Wohnort: Wien

Addon Helper - Prüfen ob ein Feld einen Wert eingetragen hat

26. Mai 2010, 04:04

Servus Redaxo Community,

ich hab jetzt schon länger nicht mehr mit Redaxo gearbeitet und jetzt bin ich gerade dabei mich mit dem Addon_Helper auseinander zusetzen.

Meine frage ist nun, wie kann ich eine Feld auf eine Eingabe prüfen.
Also nicht ob eine Mail gültig ist oder so. Einfach nur prüfen ob ein Text/Wert im Feld XY einhalten ist und wenn nicht eine Fehlermeldung ausgibt ('Feld XY ist ein Pflichtfeld')

Hier ist noch ein Link zum Plugin vom Addon_Helper:
http://dl.dropbox.com/u/6001155/news.rar

Im News (RAR) Plugin wollte ich die Felder "start Datum, end Datum, Titel [de], Text [de], Titel [en], Text [en]" auf eine Eingabe prüfen.


lg,
Herbert

Benutzeravatar
bigh03
Beiträge: 32
Registriert: 20. Apr 2006, 16:02
Wohnort: Wien

27. Mai 2010, 15:09

Hi nochmal!

So jetzt hab ich mal einwenig in den Klassen gestöbert und folgendes gefunden:

Code: Alles auswählen

function validate()
{
	global $I18N;

	foreach ($this->elements as $fieldset) 
	{

		foreach ($fieldset as $el) 
		{
		
			if (is_a($el,'rex_a350_form_date_element') && $el->value!='') 
			{
				if (!preg_match('/^[0-9]{1,2}.[0-9]{1,2}.[0-9]{2,4}$/',$el->value)) 
				{
					return $I18N->msg('a350_date_warning');
				}
			}
			
			if (is_a($el,'rex_a350_form_date_element') && $el->value=='') 
			{
				return $I18N->msg('a350_date_warning2');
			}
			
			if (is_a($el,'rex_a350_form_password_element') && $el->value=='' && $this->isEditMode()) 
			{
				unset($_POST[rex_form_element::_normalizeName($this->getFieldsetName())][$el->fieldName]);
			}
			
		}

	}
	return true;
}
Da hab ich dann auch gleich den Teil hinzugefügt:

Code: Alles auswählen

if (is_a($el,'rex_a350_form_date_element') && $el->value=='') 
{
	return $I18N->msg('a350_date_warning2');
}
Jetzt würde mir nur noch fehlen wie ich einzelne Felder auslesen kann.
z.B. hab ich da ein feld das ich so setze:

Code: Alles auswählen

$field =& $form->addTextField('0_title');
$field->setLabel('Titel [de]');
Gibts da jetzt eine möglichkeit dieses Feld oben in der Function "validate()" zu prüfen.

lg,
Herbert

Zurück zu „Allgemeines [R4]“