人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

symfony1.4のフォームについて。

クレジットカード登録などの場合にフォームを4つに別けてユーザに入力してもらう場合で
一つのカラムに保存させたい場合どのようにすれば良いでしょうか。

例えば

$this->widgetSchema['number1'] = new sfWidgetFormInputText();
$this->widgetSchema['number2'] = new sfWidgetFormInputText();
$this->widgetSchema['number3'] = new sfWidgetFormInputText();
$this->widgetSchema['number4'] = new sfWidgetFormInputText();

のようにして一つのバリデータを通して保存させたいです。

●質問者: yu3ho7
●カテゴリ:コンピュータ ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● TransFreeBSD
●300ポイント ベストアンサー

ちょっとやってみたんですが、保存だけならsfValidatorCallback使えば出来そうですが、それだと一つのカラムから複数のフォームに当てはめられないので編集が出来なくなってしまいました。
なので最低でもウィジェットは自分で作る必要ありそうです。
で、探してみるとこんなのがありました。
http://blog.goo.ne.jp/gusyazero/e/6dedb395af70f598f6f73298018864fd
これ使うと下記の様になると思います(4桁×4固定の場合)。

<?
 $this->widgetSchema['number'] = new myWidgetFormMultiInput(array(
 'rendering_count' => 4,
 ));
 $this->validatorSchema['number'] = new myValidatorMultiInput(array(
 'rendering_count' => 4,
 'fields_validator' => array('all' => array(
'pattern' => '/[^0-9]/',
'must_match' => false,
'max_length' => 4,
'min_length' => 4,
'required' => false,
 )),
 ));

yu3ho7さんのコメント
ありがとうございます! たすかりました!
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ