カテゴリー
コンピューター

CakePHP2 の FormHelper::input の使い方とバリデーションとの関係を勉強します♪

CakePHP。モデル未使用でデータベースデータ操作の基本を学習します♪ | oki2a24 の次の投稿となります。

バリデーションを設定したのに、メッセージが表示されません!本を読んでも、「表示されるはず!」と明記されています。アイエエ!ナンデ!?調べました。

ポイント

  • ビューで $this->Form->input() を使えばバリデーションのエラーメッセージを表示できる。
  •  ビューで $this->Form->text や $this->Form->text を使っても、バリデーションのエラーメッセージは表示されない。
  • $this->Form->error() でエラーメッセージを表示できる。みたいですけれど、どうにもまだうまくいきません><。

以下、FormHelper::input の詳細です。

FormHelper::input について詳しく

FormHelper::input を使えば、自動で次のことをやってくれます。

  • div タグで囲います。
  • label タグで囲ってフィールド名を表示します。
  • もちろん input タグを生成します。しかも DB のテーブルのカラムの種類に合った type 属性で自動的に生成します。
  • バリデーションエラーの div タグとメッセージを自動的に表示します。

すごく多くのことを引き受けてくれますね!なんと働き者なのでしょうか。

次に、DB のテーブルのカラムの種類の何が HTML のどの type 属性に対応しているのかをまとめます。

No データベーステーブルのカラム種類 フォームのタグまたは input 属性の種類
1 string (char、varchar、など。) text 属性
2 boolean、tinyint(1) checkbox 属性
3 text textarea 属性
4 password、passwdまたはpswordと名のついた text password 属性
5 date day、month、year の select タグ
6 datetime、timestamp day、month、year、hour、minute そして meridian の select タグ
7 time hour、minute そして meridian の select タグ

参考

小1日ほどおかしいなあおかしいなあとウロウロ調べていたのですが、ようやくすっきりしました。そして、公式のドキュメントFormHelper CakePHP Cookbook v2.x documentation に明記してあって、、、まあ、いいのです。

以上です。

「CakePHP2 の FormHelper::input の使い方とバリデーションとの関係を勉強します♪」への1件の返信

コメントを残す