安全じゃないデータを取り除くで
バリデーションを英語ではvalidationと書く。
「確認」って意味があって、確認するらしい(?)。
Web開発におけるvalidation
Web開発でバリデーションと言ったら、バックエンドで入力されたデータが正しいかを確認するよ!
正しくないデータ
例えば以下の要素を登録できる投稿サイトがあるとする。
- タイトル(*)
- 本文(*)
- カテゴリー
- タグ
この中で(*)を付けた要素は必須項目で、必ず何かしらのデータが必要だとする。
もしあるユーザーがタイトルと本文を空欄のまま投稿しようとすると、それはWebサイト的にはアウトの扱いとなる。
タイトルと本文が空のままのデータを登録されても困る。
こういうトラブルを未然に防ぐのがバリデーション。
要素を確認するよ
Laravelを例に紹介するけど、データが与えられてそれが登録されるまでの間にバリデーションを挟むことで、データに不備があるときはそれ以上処理が進まないようにできるし、不備がなかったら処理が先に進むようになっている。
public function create(Request $request)
{
// ココがバリデーション
$request->validate([
'title' => 'required|max:255',
'body' => 'required',
]);
// データに不備があると、これ以上先に進まなくなる
// この下にデータを登録する処理がある
}
Laravelにあまり馴染みのない人は、この$request
の中にフォームのデータが入っていると思ってもらってOK🙆♂️
上記はバリデーションの例だけど、こんな感じでデータの登録処理をする前に確認処理(=バリデーション)を挟むことによって、事前に与えられたデータに不備がないかを保証できる。
バリデーションのルールはこんな感じやで
ちなみに、上記の例で行われているバリデーションの内容はこんな感じ
要素 | バリデーションのルール |
---|---|
title(タイトル) | 必須項目である、最大文字数が255である |
body(本文) | 必須項目である |
まとめ
こんな感じでデータ処理の間にバリデーションを挟むと、そのデータが正しいフォーマットで送信されているのを確認できるよ😌
皆んなも使ってみてね!