1

我有一个Zend_Form包含数值的文本字段。我希望将该值呈现为好像它已通过number_format(). 例如,如果字段中的值为12345,我希望它在文本字段中显示为12,345

在提交方面,我有一个去除逗号的过滤器,当我最终调用$form->getValues(). [暂时,让我们忘记语言环境问题]

但是如何格式化最终出现在输入字段中的值?

我想我可以:

  1. 创建一个自定义元素类扩展Zend_Form_Element_Text
  2. 创建一个自定义视图助手扩展FormText助手
  3. 设置自定义元素以使用自定义助手
  4. 在表单元素本身上添加ViewHelper装饰器
  5. 使用所有表单和元素注册所有必需的路径/前缀

但它确实看起来像是一个要跳过的圈子。有更简单的吗?

4

1 回答 1

3

查看Zend_Locale_Format并在表单元素上设置值

$element->setValue(Zend_Locale_Format::getNumber($value, array('number_format' => $xx, 'locale' => $lang_LOCALE));)
于 2011-06-15T13:18:05.070 回答