【发布时间】:2012-03-05 19:10:28
【问题描述】:
我正在使用 Zend_Form 处理表单,但我遇到了本地化问题。
我使用以下字段声明:
$this->addElement('text', 'area', array(
'label' => 'Area:',
'required' => true,
'filters' => array('StringTrim', 'NormalizedToLocalized')
));
问题是,我使用 pl_PL 语言环境,在这个语言环境中,小数点分隔符是“,”而不是“.”。但是数据库(MySQL)存储浮动“。”分隔符。
我添加了 NormalizedToLocalized 来转换例如40.12 转换成 40,12 在我的 html 表单中。
但是当在 POST 请求中传递 40,12 时,我希望 Zend_Form 自动将值 40,12 转换回 40.12 以便它可以传递给 DB(我使用 $form->getValues() 方法从表单中收集值)。现在它成功渲染了 40,12 但在 $form->getValues() 我得到了本地化,而不是标准化值。
所以我的问题是,是否可以在 Zend Framework 中创建不同的过滤器来渲染和获取字段值。
提前感谢您的帮助!
【问题讨论】:
标签: php zend-framework localization zend-form