Zum Inhalt springen

Formhandler & Finisher_DB

Erstellt am 8. April 2011 · Noch keine Antworten

Tags: Frage

linsen ·

Hallo zusammen,

ich habe ein Anfrageformular und möchte das der Benutzer nach ausfüllen in die tt_address geschrieben wird. Funktioniert auch alles super, nur schreibt er die Einträge doppelt in die DB.
Wie kann man dieses Problem lösen?

validators {
    1 {
      class                 = Tx_Formhandler_Validator_Default
      config {
        fieldConf {

          name.errorCheck {
            1                = required
            2                = maxLength
            2.value          = 20
          }
          phone.errorCheck {
            1                = required
            2                = maxLength
            2.value          = 20
          }
          email.errorCheck {
            1                = required
            2                = email            
          }
          objekt.errorCheck {
            1 = required          
          }
          from.errorCheck {
            1 = required
          }
          to.errorCheck {
            1 = required
          }
        }
      }
     }
  }

finishers {
1.class = Finisher_DB
1.config {
      table = tt_address
      fields {
        pid.mapping = nofield
        pid.ifIsEmpty = TEXT
        pid.ifIsEmpty.value = 29
                        
        name.mapping = name
        address.mapping = adresse
        phone.mapping = phone
        email.mapping = email
 }
}

hab es unter validator schon damit versucht

email.errorCheck {
            1                = required
            2                = email            
            3 = isNotInDBTable
            3.table = tt_address
            3.field = email
}

nur schickt er das Formular erst gar nicht ab, da die mail ja schon existiert.

Könnte man das vielleicht so lösen:

 [globalVar = GP:FE|tt_address|email = GPvar:formhandler|email]
  ... Anweisungen
 [end]

oder wie könnte der syntax lauten?

Bin für jeden Tipp dankbar!