19. 07. 2012, 12:36

Liebe Formhandler Experten,
ich habe ein Anmeldeformular mit formhandler umgesetzt (Klasse Extension!). Nur zwei Probleme bleiben bei der Validierung:

Bei der Anmeldung müssen die Benutzer eine Mindestdistanz eingeben (minDistance). Dieses Feld muss ausgefüllt sein, im Format integer vorliegen und muss höher als ein voreingestellter, dynamischer Wert (possibleMinDistance) sein. Die Validierung läuft also wie folgt:

  1. 1.validators {
  2. 1 {
  3. class = Tx_Formhandler_Validator_Default
  4. config {
  5. fieldConf {
  6. minDistance.errorCheck {
  7. 2 = integer
  8. 3 = minValue
  9. 3.value = TEXT
  10. 3.value.data = GP:formhandler|possibleMinDistance
  11. }
  12. }
  13. }
  14. }
  15. }

Problem 1:
Ich möchte bei Falscheingabe nicht alle Fehler auf einmal angezeigt bekommen. Wenn ich jetzt einen Text eintrage, erhalte ich nicht nur die Fehlermeldung zu integer sondern auch zu minValue. Über

  1. 1.validators.1.config.messageLimit.minDistance= 1

kann ich zwar die Anzahl der Fehlermeldungen auf 1 beschränken, erhalte dann aber immer nur die Fehlermeldung zu minValue und nicht zu integer.

Problem 2:
Die Validierung mit dem dynamischen Wert in minValue funktioniert. In der Fehlermeldung wird der Marker ###value### allerdings nicht ersetzt.
Folgendes Label:

  1. <label index="error_minDistance_minValue">Bitte geben Sie eine Entfernung an, die größer als ###value### ist.</label>

gibt den folgenden Text aus:
  1. Bitte geben Sie eine Entfernung an, die größer als TEXT ist.

Hat jemand eine Lösung für die beiden Probleme?

Gruß, Ralf