Da ich bereits eine ähnliche Frage im englischsprachigem Bereich gestellt habe
(https://forum.typo3.org/index.php/t/216930/) will ich es hier mal
verallgemeinern, da ich irgendwie das Gefühl habe das 'eval' Feld in den TCAs
irgendwie misszuverstehen. Im Prinzip kann ich ja Evaluierungsregeln festlegen
aber das Einzige was es bewirkt ist einen ungewollt eingegebenen Wert
abzufangen und durch einen vordefinierten zu ersetzen, wie in dem Beispiel hier:
<?php
namespace Cjk\Icingaconfgen\Evaluation;
use TYPO3\CMS\Core\Messaging\FlashMessage;
use TYPO3\CMS\Core\Messaging\FlashMessageService;
use TYPO3\CMS\Core\Utility\GeneralUtility;
/**
* Class for field value validation/evaluation to be used in 'eval' of TCA
*/
class HostnameEvaluation
{
/**
* @param string $value
* @param string $is_in
* @param bool $set
* @return string
*/
public function evaluateFieldValue($value, $is_in, &$set)
{
if ($value == ""){
$value = 'Fehlerhafte Eingabe';
/** @var FlashMessage $message */
$message =
\TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Messaging\\FlashMessage',
'Fehlerhafte Eingabe',
\TYPO3\CMS\Core\Messaging\FlashMessage::ERROR,
TRUE
);
/** @var $flashMessageService FlashMessageService */
$flashMessageService =
GeneralUtility::makeInstance(FlashMessageService::class);
$flashMessageService->getMessageQueueByIdentifier()->enqueue($message);
}
return $value;
}
}
Ist dies wirklich die Einzige Funktionalität? Weil mir erschließt sich der SInn
einer Evaluierung nicht wenn die Evaluierung nur die Eingabe verändert anstatt
sie ganz zu verhindern es sei denn die Eingabe entspricht den Anforderungen.
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german