ValidateNumber 本地化 i Flow
ValidateNumber localization i Flow
我用对了吗?对于浮点值。 12,12
被拒绝,12.12
没有。我希望相反的情况成立。
@Flow\Validate(type="Number", options={ "locale"="de_DE" })
参考here(但没有使用示例><)
实际上验证为时已晚。您想要的是将字符串 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
两种格式都接受为 float 12.12
的附加问题,您可能需要编写自己的 FloatConverter 来检查是否存在逗号并执行其中任一操作两次转化中的。
我用对了吗?对于浮点值。 12,12
被拒绝,12.12
没有。我希望相反的情况成立。
@Flow\Validate(type="Number", options={ "locale"="de_DE" })
参考here(但没有使用示例><)
实际上验证为时已晚。您想要的是将字符串 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
两种格式都接受为 float 12.12
的附加问题,您可能需要编写自己的 FloatConverter 来检查是否存在逗号并执行其中任一操作两次转化中的。