Отформатировать числовое значение в текстовом поле Zend_Form - PullRequest
1 голос
/ 15 июня 2011

У меня есть текстовое поле в Zend_Form, которое содержит числовое значение.Мне бы хотелось, чтобы это значение отображалось так, как если бы оно проходило через number_format().Например, если значение в поле 12345, я бы хотел, чтобы оно отображалось в текстовом поле как 12,345.

. На стороне отправки у меня есть фильтр, который удаляет запятую, даваямне чистое числовое значение, когда я в конце концов позвоню $form->getValues().[На данный момент давайте забудем о языковой проблеме]

Но как мне отформатировать значение, которое в конечном итоге появляется в поле ввода?

Полагаю, я мог бы:

  1. создать пользовательский класс элементов, расширяющий Zend_Form_Element_Text
  2. создать пользовательский помощник вида, расширяющий FormText помощник
  3. установить пользовательский элемент для использования пользовательского помощника
  4. добавьте декоратор ViewHelper к самому элементу формы
  5. зарегистрируйте все необходимые пути / префиксы со всеми формами и элементами

Но это, похоже, похоже на целые циклы, через которыеПрыгать.Что-нибудь попроще?

1 Ответ

3 голосов
/ 15 июня 2011

Извлеките Zend_Locale_Format и установите значение для элемента формы

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