0

我用对了吗?对于浮点值。12,12被拒绝,12.12不会。我希望相反的事实。

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

参考这里(但没有使用示例><)

4

1 回答 1

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,1212.12作为浮点数的附加问题,12.12您可能需要编写自己的 FloatConverter 来检查逗号是否存在并执行两种转换中的任何一种。

于 2015-06-23T17:16:45.173 回答