見習いエンジニア(仮)の学び場

未経験からエンジニア転職を目指す男が、プログラミング学習で学んだことを分かりやすくアウトプットするためのブログです。

「バリデーション」って何??

バリデーションとは、データの登録をする際に一定の制約をかけることを言います。

 

例えば、Twitterでアカウント名を空欄にした状態で、アカウントを作成することはできないですよね?

 

何でもかんでもデータを登録できるようにしてしまうと、アプリの使用状況がめちゃくちゃになってしまうので、それを防ぐために登録できるデータの制限をかけることをバリデーションと呼びます。

 

このバリデーションを適用させるためには、サーバーのモデル内に「validates(バリデーツ)メソッド」と呼ばれるメソッドを記述します。

 

ちなみにモデルというのは、アプリのサーバー内でデータベースとデータのやり取りをする機能のことです。

データの更新や登録も行うため、この中にバリデーションの記述をしていきます。

 

具体的な記述方法は下記の通りです。

 

validates: カラム名,バリデーションの種類

 

カラム名とは、大きなデータを構成している一つ一つのデータ名のことです。

 

例えば、Twitterのユーザーに関するデータは「name(アカウント名)」「password(パスワード)」「email(メールアドレス)」といったデータから構成されています。

この構成している一つ一つデータ名のことを、カラム名と呼んでいます。

 

以上の内容を踏まえて、仮にTwitterのユーザーの中の「name」にバリデーションを適用させたい場合の記述は、下記のようになります。

 

validates: name

 

 

続いて、バリデーションの種類です。

バリデーションの種類には、代表的なものだとpresence: true(空欄の場合は登録できない)という種類があります。

 

つまり、nameカラムが空欄だと、データの登録ができないようにするバリデーションの記述は以下のようになります。

 

validates: name, presence: true

 

 

バリデーションの種類には他にも、length: {maximum: 6}(文字数が6文字以上の場合は登録できない)といったものもあり、用途によって使い分ける必要があります。

 

バリデーションの設定は、Webアプリケーションを作成する上で必須の知識なので、ぜひ覚えておきましょう。