ValidateNumber локализация в потоке

Я использую это право? Для значения с плавающей запятой. 12,12 получить отказ, 12.12 не. Я хочу, чтобы все было наоборот.

@Flow\Validate(type="Number", options={ "locale"="de_DE" })

Ссылка здесь (но без примера использования><)

1 ответ

Решение

На самом деле проверка слишком поздно. Вы хотите отобразить строку 12,12с плавающей запятой 12.12, Это до проверки. Так что вам нужно настроить PropertyMapper. Смотрите комментарии в \TYPO3\Flow\Property\TypeConverter\FloatConverter которые довольно обширны.

Примерно это то, что вам нужно:

protected function initializeCreateAction() {
    $this->arguments['newBid']->getPropertyMappingConfiguration()->
        forProperty('yourPropertyThatShouldBeFloat')->
        setTypeConverterOption('TYPO3\Flow\Property\TypeConverter\FloatConverter', 'locale', 'de');
}

Для дополнительного вопроса о принятии обоих форматов 12,12 а также 12.12 как плавать 12.12 вам, вероятно, нужно написать свой собственный FloatConverter, который проверяет наличие запятой и выполняет одно из двух преобразований.

Другие вопросы по тегам