Seite 1 von 1

Aktionen soll eingabe Prüfen vor Speichern

Verfasst: 12. Mär 2009, 00:52
von Cheffchen
Hallo,
finde die Module ja super und schreibe immer eigene, was mir aber fehlt ist wenn zb. REX_VALUE[1] vorm Speichern gecheckt werden soll, das nur Zahlen oder keine Zahlen oder Zahlen zwischen 10 und 1000 sein darf.
Wie Spreche ich das feld richtig an für die Prüfung und wie stop ich dann das speichern mit einer Fehlermeldung wenn was nicht stimmt.

Cheffchen

Hat sich erledigt.

Verfasst: 12. Mär 2009, 13:47
von Cheffchen
Habe das in DokuR4 und Wike R3 mir das nun doch zusammen suchen können.

Für den es interessiert.
in der Modul Eingabe gibt es das, wo geprüft wird das dort was drin steht:

Code: Alles auswählen

<input type="text" size="20" name="VALUE[3]" value="REX_VALUE[3]" />
in Aktion bei Presave-Action mit ADD/EDIT das:

Code: Alles auswählen

<?php
 if ($REX_ACTION[VALUE][3] == "") { 
  $REX_ACTION['SAVE'] = False;
  $REX_ACTION['MSG'] = "Bitte geben Sie Werte ein.";
} 
?>
das bei dem Modul als Aktionen Speichern und fertig, wenn das feld jetzt leer ist wird das nicht gespeichert und es kommt eine Warnmeldung.

Cheffchen

Verfasst: 12. Mär 2009, 19:51
von alex2911

Code: Alles auswählen

<?php 
 if ((int)$REX_ACTION[VALUE][3] == 0) { 
  $REX_ACTION['SAVE'] = False; 
  $REX_ACTION['MSG'] = "Bitte geben Sie Werte ein."; 
} 
?>
Der Zusatz (int) verlangt eine Zahl.
Du könntest natürlich die Eingabe auch via Regex überprüfen.


und edith:

Hier würde jedoch auch die Zahl 0 nicht gelten. Also musst Du die if etwas erweitern damit eine zahl 0 zwar gilt, jedoch buchstaben nicht gelten.

Ich hab mich etwas gespielt mit der Aktion :D

Code: Alles auswählen

$REX_ACTION[VALUE][1] = number_format(floatval(preg_replace("|,|", ".", $REX_ACTION[VALUE][1])), 2, ".", "");
hier wird auf jeden Fall ein float als Wert eingetragen - egal was der User eingibt.

Verfasst: 20. Jul 2009, 18:17
von Richard.Laing
hi @ all

das mit der prüfung brauche ich auch dringend :)

wie kann ich denn den REX_LINK_ID[1] auf inhalt prüfen, da der kunde immer vergisst einen link zu setzen muß er da mecker bekommen, damit es nicht alles zerschiesst.
bin ne php NULL.. sorry
gruß richy

Verfasst: 20. Jul 2009, 18:28
von Gregor.Harlan
Hallo,

es gibt hier ein nettes Tutorial: http://www.redaxo.de/476-0-wie-kann-ich ... uefen.html

Gruß, Gregor

Verfasst: 20. Jul 2009, 18:30
von Richard.Laing
danke dir gregor.
gruß richy