Entweder-Oder Condition
Es gibt zwei Formular-Felder „feld_1“ und „feld_2“. Eines davon soll Pflichtfeld sein, falls das andere nicht ausgefüllt wurde:
plugin.Tx_Formhandler.settings.predef.beispiel {
...
validators {
1.class = Tx_Formhandler_Validator_Default
1.config {
fieldConf {
feld_1.errorCheck.1 = required
feld_2.errorCheck.1 = required
}
}
}
# Im Schritt eins (bezieht sich auf Multistep-Formulare)
1 {
# Das erste IF...
if.1 {
conditions.OR1.AND1 = feld_1>0
isTrue.validators.1.config.disableErrorCheckFields = feld_2
}
# Das zweite IF...
if.2 {
conditions.OR1.AND1 = feld_2>0
isTrue.validators.1.config.disableErrorCheckFields = feld_1
}
}
...
}
Oder-oder-oder Condition
Es gibt mehrere Formular-Felder. Pflicht ist nur, mindestens eines davon auszufüllen – es ist aber egal, welches:
plugin.Tx_Formhandler.settings.predef.beispiel {
...
validators {
1.class = Tx_Formhandler_Validator_Default
1.config {
fieldConf {
feld_1.errorCheck.1 = required
feld_2.errorCheck.1 = required
feld_3.errorCheck.1 = required
feld_4.errorCheck.1 = required
}
}
}
1 {
if.1 {
conditions {
OR1.AND1 = feld_1>0
OR2.AND1 = feld_2>0
OR3.AND1 = feld_3>0
OR4.AND1 = feld_4>0
}
isTrue.validators.1.config.disableErrorCheckFields = feld_1,feld_2,feld_3,feld_4
}
}
...
}
TypoScript Page-Condition: Prüfen, ob ein Feld / Get-Post / GP-Variable mit einem beliebigen String oder Text ausgefüllt oder gesetzt wurde
Das Wipp-Prinzip: Wenn ein bestimmtes Feld ausgefüllt ist, sollen andere Felder nicht mehr Pflichtfelder sein. Problem war, dass hier über eine Page-Condition in Typo3 gearbeitet werden musste – aber wir keine Lösung gefunden haben, die pagecondtion nach einem leeren String suchen zu lassen.
Für Suchmaschinen: Per TypoScript Pagecondition prüfen, ob leerer String übergeben wurde. GP-Variable auf leeren String prüfen. Get/Post-Variablen auf beliebigen String prüfen. Für Formhandler Page-Condition auf beliebigen Text prüfen, bei leerem String andere Page-Condition. Check, ob Get/Post-Variable beliebigen Wert oder String enthält und Condition, falls GPVar-Variable leer ist. Typoscript Typo3 Page Condition check for empty string. Typoscript Typo3 Pagecondition check Get-Post Variables for any Character, Word, Value or String
Bei numerischen Werten relativ logisch: Page-Condition zum Prüfen, ob eine Get/Post-Variable einen numerischen Wert enthält, der größer als 0 ist:
[globalVar = GP:formhandler|iban > 0]
# IBAN war größer als 0
[global]
Bei einem String etwas seltsame Schreibweise: Page-Condition zum Prüfen, ob eine Get/Post-Variable einen beliebigen String enthält – mit Hilfe von [else]
[globalVar = GP:formhandler|iban = ]
# Leer? Nichts machen
[else]
# NICHT leer... jetzt was machen
[global]
In dem Formhandler-Problem sollte eine IBAN und BIC – oder die Konto-Nr und BLZ angegeben werden. Nur eines von beiden ist Pflicht. Lösung war auch hier das [else]:
[globalVar = GP:formhandler|iban = ]
# Leerer String? Dann nichts machen
[else]
# KEIN leerer String, also die Überprüfung der anderen Felder deaktivieren
plugin.Tx_Formhandler.settings.predef.nachtmahl.validators.1.config.fieldConf {
bank_acc_no >
bank_code >
}
[global]
TypoScript Page-Condition: Prüfen, ob ein Feld / Get-Post / GP-Variable leer oder nicht gesetzt ist und keinen Wert enthält
Page-Condition zum Prüfen, ob eine Get/Post-Variable leer ist:
[globalVar = GP:formhandler|iban = ]
# Leerer String... jetzt was machen
[global]