08.09.2010

sr_feuser_register required Problem bei Upload

Ich hatte heute die Anfrage den Image Upload des sr_feuser_register so zu setzen, dass nur ein Bild raufgeladen werden darf, dieses aber PFLICHTFELD ist. Soll heißen: 1 Bild ist required.

Nachdem die maxImages auf 1 gesetzt hatte versuchte ich per Typoscript image unter den requiredFields einzutragen. Dies hatte aber keinerlei Effekt. Die Registrierung war auch ohne ein Bild möglich. Auch der nächste Versuch image bei create als required zu setzen scheiterte.

Nach ein wenig Quellcode-Stöbern hab ich dann eine "Quick and Dirty"-Lösung für das Probem gefunden (und sie ist wirklich Dirty ... und auch Quick ;-)

Öffnet die Datei:

typo3conf/ext/sr_feuser_register/model/class.tx_srfeuserregister_data.php

sucht bei ca. Zeile 483:

case 'upload':

[hier kommt der neue Code hin]

if ($dataArray[$theField] && is_array($this->tca->TCA['columns'][$theField]['config']) ) {

.....


fügt nun folgenden Code ein:

if (!$dataArray[$theField]){
      $failureArray[] = $theField;
      $this->inError[$theField] = TRUE;
}

Ab jetzt sollte eure Registrierung erkennen wenn das Upload-Array leer ist und dementsprechend eine Fehlermeldung auswerfen.

Bessere Lösungen sind herzlich willkommen :-)