入力ミスで集計が狂ったり、社内ルールと異なるデータが登録されていた、といった経験はありませんでしょうか。
アプリケーションの「入力チェック」は、こうした問題を未然に防ぐことができます。バリデーションや入力値検証、入力規制等と言われることもあります。一見地味な機能に見えるかもしれませんが、IT活用をしていく上で大きな意味を持っています。
この記事ではその具体的な内容やメリットを解説していきます。
入力チェックとは | 目的と必要性
入力チェックとは、その名の通り、システム等に入力するデータの妥当性を登録前に検証し、チェックをクリアしたデータのみが登録されるように制限するものです。
アプリケーション作る側の開発者の立場から見ても、不正なデータを弾くバリデーション(入力規則)を設けることで、不整合なデータを登録することにより生じる不具合の発生を防止してシステムの安定性を担保したり、セキュリティ上のリスクが生じないようにする、といった観点で必要とされています。
今回の記事では、上記の観点よりも、ITツールを利用するユーザー企業やユーザー自身の観点からの「入力チェック」について解説していきます。

入力チェックのメリット
それでは、利用企業やユーザーからみて入力チェックを行うことにどのような意義やメリットがあるのでしょうか。
データ品質の向上
その1つ目がデータ品質の向上です。入力チェックをパスしたデータのみが登録されることで、正しいデータのみが蓄積されるようになります。その結果として、求めている基準のデータ、つまり品質の良いデータを得ることができます。逆に、何の入力チェックも行っていない状態を想像してみて下さい。例えば、金額を入力する欄に、全角で「1000」や記号付きで「¥1,000-」等のバラバラの形式で入力されることになります。
多くのアプリケーションは、単にデータを登録するだけでなく、その後の業務や分析などで二次活用する前提で設計されています。そのため、品質の低いデータが登録されると、活用ができなくなってしまいます。
活用は具体的には様々ですが、例えば、データ分析を例に取ると、顧客データを集計する際に、品質が低い場合、顧客名が全角半角違いで登録されたり、「㈱」の有無があったり等で同じ客が別々に集計される、と考えると分かりやすいかもしれません。

データ品質の具体的イメージ
業務ルールの適用
入力チェックを活用する目的の2つ目として、業務ルールの適用が挙げられます。例えば、与信限度額の範囲内でのみ取引先からの受注を受けれる、というルールがある場合に、システム上制限していないとルール上誤った取引が成立してしまうかもしれません。業務上のルールをしっかりと遵守させる、という観点からも入力チェックが活用されるメリットがあります。
入力チェックの仕組みとアプリで使われる代表的なチェック項目
次に、入力チェックとは具体的にどのような仕組みなのでしょうか。ユーザーが入力を行ってから、実際に登録される前に検証を行い、入力エラーがあった場合は、その原因を表示し、ユーザーに修正を促すというのが基本的な流れです。細かいバリエーションとしては、入力直後からリアルタイムにエラー表示するケースもありますし、登録を実行するボタンをクリックした後でチェックを実行してエラーを表示するケースもあります。

更に具体的に、どのような種類の入力チェックがあるのかを次に説明していきます。
入力必須
入力されるべき項目が未入力になることを防ぎます。あるデータを作成する際に、必要となる要素が登録されることを担保します
必須項目の具体例 … ないと情報が意味をなさないような重要な項目、データを一意に特定するためにキーとなる項目等
長さ
文字の長さを検証します。例えば、最大文字数が200文字以内でメモ欄を入力する、決められた桁数で社員番号を登録する等です。
範囲
定められた範囲内のデータかどうかを検証します。数値だけでなく、日付や時間等でも範囲の検証は可能です。
例えば、以下のような条件でチェックすることが考えられます。
データの種類 | 制限の具体的な利用例 |
---|---|
数値 | 金額の範囲。1,000〜10,000円の範囲内かどうか等 |
日付 | 相対的な範囲での制限。1ヶ月以内の日付が指定されているか等 |
時間 | 時刻の範囲。0:00〜17:00の範囲内かどうか等 |
フォーマット・形式
データがあるべき形式に沿っているかどうかを検証します。
基本的な所だと、数値項目が数字のみの有効な数値として入力されているか、
日付項目が正しい日付の形式になっているか、
半角英数という条件の項目に対象外の文字列が含まれていないかといった例が考えられます。
関係性
入力チェックは、その項目だけで完結するのではなく、時に他の項目との関係性において妥当かをチェックする必要があります。
例えば、ある選択肢で「その他」を選んだ時には、直後の「備考」を必須項目とする、といったものです。
他にも、日付の前後関係に制約を付けて、「申込日」は「完了日」より前でなければならない、としたり、更に複雑なものだと、顧客マスタの与信残高と比較して、受注金額の上限を設定したり、ということも考えられます。
システム整合性
先程は、これから登録するデータの項目間の関係性でしたが、今後は、既にデータベースに存在しているデータ等の現在のシステムの状態との整合性をチェックする考え方です。
例えは、以下のバリデーション(入力チェック)が考えられます。
- 重複確認:重複したデータの登録を防ぐためキーとなる項目の組み合わせがデータベースに存在するかチェック
- 存在チェック:マスターデータを参照する項目(例えば顧客マスタ)を登録する場合に、本当にそのデータが存在するかをチェック。例えば、「顧客マスタに登録されている顧客コードか」といったもの
- 権限チェック:権限設定に応じて、このデータを登録可能かといったことを検証
こうした入力値検証は、仕組みとしてはやや複雑かもしれませんが、ユーザー目線で見た時には、シンプルな入力チェックと同様に、「なぜ登録できないのか?」「どのような値を入力すればよいのか?」を伝えることでシステム運用を円滑化することができます。
入力チェックのユーザビリティ | 表示方法やタイミング
今まで解説してきた、何をどのようにチェックするか、という観点以外にも大事なポイントがあります。それは、ユーザーに対してどのように伝えるか、というユーザー体験の側面です。処理としてのバリデーション(入力チェック)が適切に行われていても、ユーザビリティに問題があったら「どう直せば入力できるか分からない」「操作の手戻りやムダが起こってしまった」等といった不満を抱かせて、アプリが使われなくなる原因になってしまうかもしれません。
ここでは、入力チェックのユーザビリティを向上させる観点をいくつか解説していきます。
入力前のガイド
入力にルールがあるのであれば、NGになってから伝えるよりも、最初からどう入力すべきか伝える方が、ユーザーに対しては親切です。ルールを分かった上で入力すれば、入力チェックでエラーが生じ、入力し直す手間を省けるかもしれません。具体的な表示内容としては、入力例等の形式でなるべく短いテキストで伝えるのが良いです。
表示する箇所としては、入力フォームの近くで、なるべく邪魔にならない場所が好ましいです。例えば、「プレースホルダー」という入力前のフォーム内側に表示するようなやり方もあります。

チェックのタイミング
チェックのタイミングを調整することで、ユーザーにとって最適なタイミングでフィードバックを伝えることが可能になります。具体的なタイミングの候補としては、「フォーム送信時(ボタンクリック等)」「入力後(各フォームからフォーカスが外れたタイミング)」「入力中(入力している最中からリアルタイムに表示)」が挙げられます。
チェック結果の表示
入力チェックを行った後、NGだった場合にはエラーメッセージを表示することになります。その結果をどのように表示するか考える上で、2つの観点があります。「表示箇所」と「表示内容」です。
表示箇所:基本的に適切な表示箇所としては、対応する入力フォームの近くです。ラベルとフォームの間、フォームの下、といったパターンが多いです。フォームと離れた箇所に表示すると、どこが該当箇所かユーザーにとって分かりづらくなるからです。また、付随的に表示を工夫する考え方があります。特に最後のフォーム送信時にチェックする場合は、フォーム送信ボタンの近くにエラーの発生や、該当フォームを伝えることで、ユーザーに行動を促すこともできますし、長いフォームであればフォームの最初にスクロールするといった実装もあります。
表示内容:表示するメッセージは、簡潔にどう違うのか、どう入力すれば良いのかが伝わるメッセージが適切です。入力チェックのエラーを伝える、と考えると否定表現になりがちですが、むしろどう入力すれば良いかというメッセージの方がユーザーの行動を促せる場合もあるので、表現の工夫が重要です。また、言われた通りに直したのに入力できない、といったケースを防ぐために、メッセージが本当に正しい入力規制を表現する内容になっているか検証が必要です。
ノーコードツールNuAppでの入力チェック実装例
それでは、このような入力チェックは実際のITツールではどのように実現されているでしょうか。ノーコード開発ツールのNuAppを例に取り解説していきます。
NuAppでは、画面上からデータ項目の設定を行い自由にWebデータベースを作成しますが、この際、項目別に入力チェックを行っていきます。
例えば、以下の通りです。

必須チェックを行う場合は、誰がいつ登録するかという状況に応じて設定を変えることができます。同じデータを取り扱っていても、申請者と承認者では入力しなければならない情報が異なってくる、という状況を想像してもらえれば、こうした必須チェックの有無を状況に応じて切り分ける必要性がご理解いただけると思います。

関係性によるチェックを行う際には、「高度な入力ルール」から行います。以下のように、特定の条件時に必須にしたり、別項目と比較して値の範囲を制限することができます。

システム整合性だと、例えば重複排除を行う際は、「キーを指定」からキー項目を設定すると、登録時に重複データが存在していないかをチェックするようになります。

このように、様々な側面から入力チェックを行い、データ品質を担保することが可能です。
このように、ITツールを選定する場合も、入力チェックが目的に応じて簡易に実現できるかどうか、といった点も考慮すると良いかもしれません。
まとめ
入力チェックは、形式・範囲・項目間の整合性を担保し、業務データの品質を守る重要な仕組みです。
特に、誤入力やデータのばらつきによるリスクを防ぎたい現場では、バリデーション設計と運用ルールの明確化が不可欠です。
今回の記事でご紹介したNuAppは、豊富な入力チェックの仕組みを持ち、品質の高いデータを蓄積することができます。データ管理を始めとしたご相談は、以下よりお問い合わせ下さい。