バリデーションを使おう! (1/5)
作成:2011-12-12 07:53
更新:2011-12-12 07:53
更新:2011-12-12 07:53
■バリデーションとは?
Modelを使うようになると、さまざまなデータを入力し、新たなModelデータを作成して登録する、というようなことを行うようになります。こうした場合に考えなければならないのが「正しくデータが入力されているか」ということでしょう。
不正確なデータが入力され保存されると、データベースそのものが正しく扱えなくなってしまうこともあります。自分だけが利用するならまだしも、不特定多数の人間が利用するようなサイトでは、誰がどのようなデータを入力するかわかりません。したがって、事前にデータをチェックし、正しく入力されてる場合にのみ受け付けるような仕組みが必要です。
こうしたデータの事前チェックを行う機能が「バリデーション」と呼ばれるものです。バリデーションは、Modelに用意されている機能です。「データ入力の事前チェック」というと、ビューのフォーム作成部分や、送信されたフォームを処理するコントローラーにある機能のように思えるでしょうが、実はModelが管理する機能なのです。
このバリデーションの利用は、非常に簡単です。Modelクラスに以下のような変数を用意するだけです。
バリデーションを行う場合、もう1つ注意しておくべきことは、「送信フォームは、Form Helperを使って作成する」という点でしょう。バリデーションは、Form Helperと密接に連動しています。自分でタグを書いてフォームを作成するだけでは、バリデーションは(チェックそのものはできても)正しく機能できません。
例えば、チェックした結果をフォームに表示するなどの機能は、Form Helperを利用せず自分で組み込もうとするとけっこう面倒です。Form Helperなら、そうしたことを考えなくとも自動的に処理してくれます。
不正確なデータが入力され保存されると、データベースそのものが正しく扱えなくなってしまうこともあります。自分だけが利用するならまだしも、不特定多数の人間が利用するようなサイトでは、誰がどのようなデータを入力するかわかりません。したがって、事前にデータをチェックし、正しく入力されてる場合にのみ受け付けるような仕組みが必要です。
こうしたデータの事前チェックを行う機能が「バリデーション」と呼ばれるものです。バリデーションは、Modelに用意されている機能です。「データ入力の事前チェック」というと、ビューのフォーム作成部分や、送信されたフォームを処理するコントローラーにある機能のように思えるでしょうが、実はModelが管理する機能なのです。
このバリデーションの利用は、非常に簡単です。Modelクラスに以下のような変数を用意するだけです。
public $validate;この$validateという変数に、バリデーションに関する情報をまとめます。この変数がModelクラスになければ、バリデーションのチェックは行われません。
バリデーションを行う場合、もう1つ注意しておくべきことは、「送信フォームは、Form Helperを使って作成する」という点でしょう。バリデーションは、Form Helperと密接に連動しています。自分でタグを書いてフォームを作成するだけでは、バリデーションは(チェックそのものはできても)正しく機能できません。
例えば、チェックした結果をフォームに表示するなどの機能は、Form Helperを利用せず自分で組み込もうとするとけっこう面倒です。Form Helperなら、そうしたことを考えなくとも自動的に処理してくれます。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
※関連コンテンツ
「初心者のためのCakePHP2 プログラミング入門」に戻る