* sfForm [#ccc48efd]


 
** bind()でフォームオブジェクトにリクエストパラメータを設置する  [#z47231e1]
 $user_info = $request->getParameter('user_info');
 $form->bind($user_info);

** bind()済みのフォームオブジェクトからフィールドの値を取り出す 1 [#a60bcc62]
 $user_name = $form->getOption('name');
 $user_age  = $form->getOption('age', 18); // ageが未定義なら18

** bind()済みのフォームオブジェクトからフィールドの値を取り出す 2[#y4c59dd3]
 $field_data = array();
 $form->rewind();  
 while ($key = $form->key()) { // イテレータを使わない場合 → foreach (array('name', 'age', 'sex') as $key) {
      $field = $form[$key];
      $widget = $field->getWidget();
      if ($key == 'age') {
          $choices = $widget->getOption('choices'); // 1:男 2:女だとか
          $val     = $choices[$field->getValue()];
      } else { 
          $val = $field->getValue();
      }
      $field_data[$key] = $val;
      $form->next();
  }

** フォームのフィールドのデフォルト値を取得・設定する [#ec2de432]
 $form->setDefault('age', 18);
 $user_info = array('age' => null);
 $form->bind($user_info);
 $age = $form->getDefault('age');

** 参考 [#icddc8a7]
- http://www.symfony-project.org/api/1_2/sfFormField
- http://www.symfony-project.org/api/1_2/widget
-- http://www.symfony-project.org/api/1_2/sfWidgetForm

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS