Hallo Ralf

Deine Verpflichtungsvorgaben müssten zutreffen. Das "minitems=1" stimmt auf 
jeden Fall. Ob in der "select"-Situation auch "eval" angewendet wird weiß ich 
nicht. Ich glaube nicht, dann ist diese Konfiguration aber lediglich 
überflüssig, keinesfalls kontraproduktiv.

Allerdings hast du hier zwei Situationen, die zusammengenommen deine Bedingung 
schon ohne Benutzerzutun erfüllen.


Zunächst unterscheidet das TCA nicht großartig zwischen leeren Strings, leeren 
Array und NULL-Werten in der Datenbank. Je nach Stelle innerhalb der 
TCEmain-Verarbeitung wird die Situation "keine Option gewählt" entweder durch 
einen leeren String oder durch ein Array ohne Elemente dargestellt. Diese 
Verarbeitungsschritte folgen aufeinander, sodass man "von der jeweils 
schlechtesten Variante" ausgehen muss, wenn man einen Fehler ergründen will.
Nachdem du ein Select ohne Datenbank-Fremdschlüsselbeziehung hast, werden deine 
Optionen als kommagetrennte Liste in der Datenbank abgelegt. Dass du die Liste 
mittels minitems und maxitems auf exakt ein Element beschränkst ändert nichts 
an der Darstellungsweise.


Und weiterhin hast du leider eine Auswahloption geschaffen, die durch den 
leeren String abgebildet wird.

Im TCEmain kommt es jetzt grob zu folgendem Ablauf:

SELECT uid, config FROM table;
Resultat: $row = array('uid' => 1, 'config' => '');
TCEmain-Verarbeitung aufgrund der TCA-Vorgaben: $row['config'] = 
t3lib_div::trimexplode(',', $row['config']);

Das ergibt zunächst mal ein Array mit einem Element das durch den leeren String 
abgebildet wird.
Anschließend prüft das TCEmain, ob alle von der Datenbank zurückgelieferten 
Optionen deinen Vorgaben entsprechen. Das ist der Fall, deine leere Option ist 
erlaubt.
Jetzt wird gezählt: Mindestens und höchstens ein Element? Ja, auch das ist der 
Fall.


Dein Problem ist also, dass du das leere Element als gültige Option erlaubst.


Gruß,


Stephan Schuler
Web-Entwickler

Telefon: +49 (911) 539909 - 0
E-Mail: [email protected]
Website: media.netlogix.de



--
netlogix GmbH & Co. KG
IT-Services | IT-Training | Media
Neuwieder Straße 10 | 90411 Nürnberg
Telefon: +49 (911) 539909 - 0 | Fax: +49 (911) 539909 - 99
E-Mail: [email protected] | Internet: http://www.netlogix.de

netlogix GmbH & Co. KG ist eingetragen am Amtsgericht Nürnberg (HRA 13338)
Persönlich haftende Gesellschafterin: netlogix Verwaltungs GmbH (HRB 20634)
Umsatzsteuer-Identifikationsnummer: DE 233472254
Geschäftsführer: Stefan Buchta, Matthias Schmidt



-----Ursprüngliche Nachricht-----
Von: [email protected] 
[mailto:[email protected]] Im Auftrag von Ralf-Rene Schröder
Gesendet: Dienstag, 29. Oktober 2013 12:29
An: [email protected]
Betreff: [TYPO3-german] TCA selectbox required ???

Hallo...
ich möchte eine simple Selectbox bei einem Datensatz verpflichtend machen...
meine Versuche mit Folgendem scheiterten aber:

'config' => array(
  'type' => 'select',
  'items' => array(
    array('', ''),
    array('street', 'street'),
    array('race', 'race'),
  ),
  'size' => 1,
  'minitems' => 1,
  'maxitems' => 1,
  'eval' => 'required',
),

jemand einen Tipp fü mich (oder geht das absolut nicht ???)

--
image[FORMAT] - Ralf-René Schröder
http://www.image-format.eu ... Wir geben Ihrem Image das richtige Format 
_______________________________________________
TYPO3-german mailing list
[email protected]
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
_______________________________________________
TYPO3-german mailing list
[email protected]
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an