在Zend_Form文本字段中呈现格式化的数值

时间:2011-06-15 13:05:01

标签: zend-framework zend-form zend-form-element

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

在提交方面,我有一个删除逗号的过滤器,在我最终调用$form->getValues()时给我一个干净的数值。 [目前,让我们忘记区域设置问题]

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

我想我可以:

  1. 创建一个扩展Zend_Form_Element_Text
  2. 的自定义元素类
  3. 创建一个扩展FormText帮助程序
  4. 的自定义视图助手
  5. 将自定义元素设置为使用自定义帮助程序
  6. 在表单元素本身上添加ViewHelper装饰器
  7. 使用所有表单和元素注册所有必需的路径/前缀
  8. 但是看起来确实像跳了很多跳。还有什么更简单的吗?

1 个答案:

答案 0 :(得分:3)

签出Zend_Locale_Format并在表单元素上设置值

$element->setValue(Zend_Locale_Format::getNumber($value, array('number_format' => $xx, 'locale' => $lang_LOCALE));)