TYPO3扩展名:如果BE用户输入值不受欢迎,是否阻止保存记录?

时间:2017-12-14 13:34:11

标签: typo3

我想阻止BE用户为记录输入不需要的属性值,让我们说对于属性IPv4。我为此写了一个评估类:

class IPv4Evaluation
{

    /**
     * @param string $value 
     * @param string $is_in
     * @param bool $set
     * @return string
     */
    public function evaluateFieldValue($value, $is_in, &$set)
    {
        if (!filter_var($value, FILTER_VALIDATE_IP)){
            $value = 'Fehlerhafte Eingabe (IPv4): .conf wird nicht angelegt';

            /** @var FlashMessage $message */
            $message = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Messaging\\FlashMessage',
            '.conf wird nicht angelegt',
            'Fehlerhafte Eingabe (IPv4):',
            \TYPO3\CMS\Core\Messaging\FlashMessage::ERROR, 
            TRUE 
            );

            /** @var $flashMessageService FlashMessageService */
            $flashMessageService = GeneralUtility::makeInstance(FlashMessageService::class);
            $flashMessageService->getMessageQueueByIdentifier()->enqueue($message);
            }
            return $value;
    }
}

但是,将其添加到特定classe的TCA字段时,唯一能做的就是将值更改为其他值。我还使用flash消息来警告用户插入的值为false。但我真的需要在这种情况下不能保存的记录。简而言之:如果BE用户确实插入了不需要的值并且他想要保存它,那么如果他只是编辑现有记录,则不会创建或不保存记录。我该怎么做?

0 个答案:

没有答案