sfForm

 

bind()でフォームオブジェクトにリクエストパラメータを設置する

 $user_info = $request->getParameter('user_info');
 $form->bind($user_info);

bind()済みのフォームオブジェクトからフィールドの値を取り出す 1

 $user_name = $form->getOption('name');
 $user_age  = $form->getOption('age', 18); // ageが未定義なら18

bind()済みのフォームオブジェクトからフィールドの値を取り出す 2

 $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();
  }

フォームのフィールドのデフォルト値を取得・設定する

 $form->setDefault('age', 18);
 $age = $form->getDefault('age');

参考


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

Last-modified: 2011-08-12 (金) 14:37:11