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


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

例えば

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

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

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2012/05/22 20:36:22
  • 終了:2012/05/25 15:01:33

ベストアンサー

id:TransFreeBSD No.1

TransFreeBSD回答回数665ベストアンサー獲得回数2672012/05/24 23:24:25

ポイント300pt

ちょっとやってみたんですが、保存だけなら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,
      )),
    ));
id:yu3ho7

ありがとうございます!
たすかりました!

2012/05/25 15:01:13

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません