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 に答える