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