みなさん、おはようございます!タカハシ(@ntakahashi0505)です。
こちらの記事は、タカハシが音声メディアVoicyの「スキルアップラジオ」にて放送した内容から、ピックアップしてお届けします!
今回のテーマは、今さら聞いてもいいIT用語 #10: 「バリデーション」です。
なお、以下で実際にお聴きいただくこともできます!
では、よろしくお願いいたします!
今さら聞いてもいいIT用語シリーズ「バリデーション」
今日は、今さら聞いてもいいIT用語シリーズ第10回をお送りしていきます。
このシリーズは、今さら聞けない、でも知っておいた方が良い気がする、そんなIT用語を耳からこっそり学べる、そんなシリーズとなっています。
今日紹介するキーワードは「バリデーション」になります。
全然聞いたことないなと思われるかもしれないんですが、おそらくどこかでは体験したことがあるんじゃないかなと思います。
ITで言うと、とても重要な役割を果たしていますので、ぜひ知っておいていただければと思います。
バリデーションとは
このバリデーション、アルファベットのスペルは「validation」です。
「検証」という意味なんですが、特に、「規定の条件や仕様に適合しているかどうかの検証」のことを言います。
みなさんがどこでこのバリデーションに出会っているかということなんですが、みなさん、ウェブサイトで何らかのフォーム入力をする時がありますよね。
その時に入力したデータが、その入力規則に対して妥当なものかどうかをチェックする機能がありまして、これを「バリデーション」なんて言ったりします。
たとえば、メールアドレスを入力するとき、「有効なメールアドレスを入力してください」と出てしまったり、名前や住所を入力する時に、「全角で入力してください」と出たりとかです。
また、電話番号を入力する時に、「ハイフンなしの半角数字で入力してください」とかです。
さらにさらに、パスワードを入力する時に、「半角の英数記号を含めて8文字以上で」、とこんな風に出たりとかです。
入力する時にあれこれお願いされますよね。これがいわゆるバリデーションと呼ばれるものです。
そもそもフォーム全体で必須入力になっている項目がありますよね。
入力必須かどうかのチェックもバリデーションということができると思います。
バリデーション機能搭載のメリット
入力するユーザー側の立場で言うと、ちょっとイラッとするというのはあるかもしれないんですが、こういったバリデーションの機能を搭載しておくメリットはいくつかあるんです。
有効でないデータをはじく
まず1つは、有効でないデータをある程度はじけるというのがあります。
メールアドレスとか電話番号とかはまさにそうなんですが、たとえばメールアドレスなのに途中に「@」が入ってないとか、電話番号のデータ数がそもそもおかしいとか。
そういった入力ミスをすることはあるんですが、それをはじくことができるということです。
そもそも人の入力なので、ある程度の間違いやミスはしょうがないんですが、それを形式を確認することである程度防げるというのは1つメリットとしてあります。
データを揃えることができる
2つ目のメリットは、データを揃えることができるという点です。
名前とかフリガナ、住所など、我々日本人の場合は日本語でいれることが多いですが、残念ながら、コンピューターからすると全角と半角と2パターン存在してしまうわけです。
僕らが見る方からすると同じように見えたとしても、コンピューターにとっては全角と半角では全く別の文字になります。
どっちでもいいよと両方を許容するような入力フォームになっていると、たとえばこれらのデータを使って検索しようとした時に、全角で検索した場合は半角の方がヒットしないというような現象が起きてしまってとても不便です。
なので、後でデータを扱いやすいようにデータを揃えておくというのは非常に重要で、それをバリデーションの段階でやってしまおうということなんです。
パスワードの強度を上げる
そして、もう1つメリットを紹介しておくと、これはパスワード限定ではあるんですが、パスワードの強度を上げることができます。
パスワードは、当然他の人から想定できないような文字列を指定するのが理想です。
ただ、ITリテラシーがあまり高くない人だと、「password」という英単語8文字をそのままパスワードに使ってしまったり、「12345678」みたいな覚えやすい数字の羅列にしてしまったりするわけです。
そういった自分が覚えられることを優先してパスワードを決めてしまいがちなんです。
かと言って、そのままのパスワードを入力していいよということになると、そのユーザーのデータを守るという観点では、かなりリスクがある状態になってしまうわけです。
そこで、バリデーションで、「パスワードの中には数字とアルファベットと記号、このどれかを必ず入れてください。そして何桁以上にしてください」ということにするわけです。
これで、誰もが覚えやすいけれども誰もが想定しやすいパスワードの入力を防ぐ効果が得られるということなんです。
システム側での制御は困難
そんなメリットはあるんですが、それは分かりつつも、やっぱりユーザー目線で言うとちょっとめんどくさいなと思うかもしれません。
そんなのはシステムの方で一旦受け付けてからうまく変換したりしてくれよと、そんな風に思うかもしれませんね。
ただこれも、そんなに簡単な話ではないんです。
たとえば、電話番号なら半角数字以外は削除するとか、全角半角をどっちかに自動で変換するとか色々あるわけです。
いろんなパターンを全て想定して、その対応する変換プログラムを作り、その全てのパターンでうまく動作するかどうかをテストするという作業になります。
ただ、日本語で使っている文字の種類というのはたくさんあるわけです。
漢字、平仮名、片仮名、そして全角、半角があったり、数字、記号、色々ありますよね。
さらに、それらの組み合わせでみなさんデータを入力するわけです。
その中で、こんなのが入力されそうだよなというのを全部想定してプログラムを作るというのは、かなり工数がかかることですし、難易度が高いんです。
結果的に、その部分を開発するコストが上がってしまうわけです。
そこでかかってしまったコストは、たとえばサービス料金とかに転嫁しなくてはいけないので、これはお互いにとってそんなにメリットのある話ではないんです。
それよりも、フォームの入力時点でバリデーションしておいて、条件をクリアしたデータだけを受け入れるという方が、はるかに開発の工数が低くて済むということです。
バリデーションはExcelやスプレッドシートでも有効
さて、このバリデーション、必ずしもウェブサイトの開発者だけが気を付けなくてはいけないという話ではなくて、我々が普段使っているExcelとかスプレッドシートのデータに関しても、バリデーションをしておいた方がいいことということがたくさんあるんです。
というのも、一部のみなさんは経験があると思うんですが、Excelとかスプレッドシートというのは、編集できる人であればなんでも自由に入力することができてしまうんです。
取引先名や名前などで全角、半角が混在していてもOKですし、電話番号の桁数が微妙に足りなくてもそのまま見過ごされてしまっている時もあります。
そもそも必要な欄が全部入力されていなかったとしても、そのまま運用されることが可能だったりするわけなんです。
そのように入力を自由に好きにしていいよといった状態だと、たとえば、検索したい時にうまく検索できなかったり、取引先に電話したい時に電話番号が微妙に間違っていたり、そんなことが起こりえてしまうんです。
なので、ある程度のバリエーションをきかせておくというのは望ましいことだったりします。
入力規則の機能を使う
そこで、Excelとスプレットシート共通で、入力規則の機能が用意されています。これを使うというのが1つの手としてあります。
簡易的ではあるんですが、条件として整数だけを入力するとか、文字列にしてその長さを条件として指定するとか、あとは日付や時刻ですね。
さらに、リストの候補の中からしか入力できないとか、そういった指定ができますので、それらをうまく使うことで、ある程度のバリデーションをきかせることができるようになります。
Googleフォームを使う
また別の方法として、スプレットシートに限りなんですが、Googleフォームを使うというのはかなりおすすめだったりします。
スプレッドシートに直接みなさんが入力するわけではなくて、Googleフォームから入力してもらうようにするんです。
そうすると、項目ごとにかなり細やかな入力規則、バリデーションをきかせることができます。
整数やテキスト、そしてその長さ。そういったもの以外にも、メールアドレスやURL、それらはデフォルトで、条件として指定することができます。
正規表現と呼ばれるものを使うと、それこそウェブサイトで使われているような様々な入力規則や制限をかけることができます。
そして、そもそも入力必須かどうかもGoogleフォームだったら簡単に設定ができるわけです。
Excelやスプレッドシートを使っている時も、入力規則、バリデーションをうまく活用することで、より扱いやすいデータにしていくことができますので、ぜひ参考にしていただければと思います。
ということで、今日は、今さら聞いてもいいIT用語「バリデーション」についてお伝えしました。
まとめ
ということで、今日はVoicy「スキルアップラジオ」の放送から『今さら聞いてもいいIT用語 #10: 「バリデーション」』をお届けしました。
タカハシのVoicyの放送はこちらからお聴きいただけます。
チャンネルのフォロー、コメント、SNSでのシェアなどなど、楽しみにお待ちしております。
では、また。