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件の返信
[…] 投稿ナビゲーション ← 前へ […]