コンテンツにスキップ

入力値検査方針⚓︎

入力値検査は単項目チェックと項目間チェック、複合チェックに分類し、それぞれ以下の方針で処理します。

単項目チェック⚓︎

入力必須チェック、桁チェック、型チェックなど、単一の項目のみで完結する入力値検証です。 フロントエンドアプリケーションとバックエンドアプリケーション、それぞれで同一の入力値を検証します。

フロントエンドアプリケーションでは、入力誤りの情報を素早くユーザーにフィードバックすることを目的に実行します。 バックエンドアプリケーションで行う入力値検証を補助します。 入力値検証は VeeValidate と yup を利用して行います。

バックエンドアプリケーションでは、誤った入力情報がシステムに投入されることを防止する目的に行います。 入力値検証は Bean Validation を利用して行います。

項目間チェック⚓︎

パスワードと確認用パスワードの一致チェック、タスク終了日が開始日より後であることのチェックなど、複数の項目を比較する入力値検証です。 フロントエンドアプリケーションとバックエンドアプリケーションで、同一の項目を持つ場合は、それぞれで同一の入力値を検証します。

フロントエンドアプリケーションでは、入力誤りの情報を素早くユーザーにフィードバックすることを目的に実行します。 バックエンドアプリケーションで行う入力値検証を補助します。 入力値検証は VeeValidate と yup を利用して行います。

バックエンドアプリケーションでは、誤った入力情報がシステムに投入されることを防止する目的に行います。 入力値検証はプレゼンテーション層の業務ロジック内で実装します。 繰り返し使用するものは Bean Validation を独自拡張して汎用化します。

複合チェック⚓︎

ID の重複チェック、注文数が在庫数以内であるかのチェックなど、システムの状態によって入力値が妥当かどうかが変わる入力値検証です。 多くの場合、データストア内のデータと突き合わせて入力値の妥当性を確認します。

複合チェックはバックエンドアプリケーションでのみ行います。 アプリケーションコア層の業務ロジック内でチェック処理を実装します。 入力エラーがある場合は、 HTTP 400 のステータスコードを使用して、エラーの存在を通知します。 また入力エラーのあった個所とエラーメッセージを、エラーレスポンスの本文を使用して通知します。