ユーザー登録機能つづき②

Validationを組み込み中で、ハマっている。

本のサンプルでは、入力画面→登録完了となっていて、確認画面がない。
当然、確認画面を組み込むが、そうするとvalidateがうまく働かない。

本にはvalidateの使い方が書いてあるが、実際にvalidateがどのように呼び出されて、どんなデータをどこにどうやって流しているかは説明がない。

これでは何の役にも立たないなー。

便利だし重要な機能なので、もう少し丁寧に書いて欲しかった。

追記1

検索して調べたところ、明示的にsaveやupdateなどが実行されないと、$form->errorが表示されないようだ。
ためしにデータベースのフィールドをnullでも通るように変更し、そのままsaveしてみた。
データベースには保存されていない。
Modelに記述したvalidationが働いているためだろう。

これを逆手にとって、saveやupdateをうまく組み合わせて、自分の表示したいページでエラーメッセージを表示出来そうかな。
もう少し実験が必要だ。

追記2

上記は調査不足だった。
$this->MODEL->set($this->data);
$this->MODEL->validates();
で呼べた。
・・・えらい時間無駄にしてしまった。

ここまでに大分ゴチャゴチャいじってソースが汚くなったので、整理して作り直そう。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする