JavaScript 逆引き集 | バリデーション(簡易)

JavaScript JavaScript
スポンサーリンク

バリデーション(簡易) — if (!data.name) throw new Error('name required')

プログラムでは「入力データが正しいかどうか」を確認する処理が必要です。これを バリデーション(validation) と呼びます。
初心者は「データに必要な値が入っているかチェックして、なければエラーを出す」と覚えると理解しやすいです。


基本のコード例

function saveUser(data) {
  if (!data.name) {
    throw new Error('name required'); // nameがないとエラー
  }
  console.log("保存しました:", data.name);
}

saveUser({ name: "Aki" }); // OK
saveUser({});              // エラー: name required
JavaScript
  • if (!data.name)data.name が存在しない(空や未定義)なら true。
  • throw new Error('...') → エラーを発生させて処理を止める。

よく使うテンプレート集

必須項目チェック

if (!data.email) throw new Error("email required");
if (!data.password) throw new Error("password required");
JavaScript

数値の範囲チェック

if (data.age < 0 || data.age > 120) {
  throw new Error("age must be between 0 and 120");
}
JavaScript

文字列の長さチェック

if (data.username.length < 3) {
  throw new Error("username too short");
}
JavaScript

例題: ユーザー登録フォームの簡易バリデーション

function registerUser(data) {
  if (!data.name) throw new Error("name required");
  if (!data.age) throw new Error("age required");
  if (data.age < 18) throw new Error("must be 18 or older");

  console.log("登録成功:", data);
}

registerUser({ name: "Mika", age: 20 }); // OK
registerUser({ name: "Ken", age: 15 });  // エラー: must be 18 or older
JavaScript
  • 効果: 必須項目がない場合や条件を満たさない場合にエラーを出せる。

実務でのコツ

  • 簡易バリデーション: 小規模なコードなら if + throw で十分。
  • 複雑なバリデーション: 大規模なプロジェクトではライブラリ(AJV, Joi など)を使うと便利。
  • ユーザー向けメッセージ: 実際のアプリでは throw の代わりに「入力エラーです」と表示することが多い。

練習問題(商品データチェック)

function addProduct(data) {
  if (!data.id) throw new Error("id required");
  if (!data.name) throw new Error("name required");
  if (data.price <= 0) throw new Error("price must be positive");

  console.log("商品追加:", data);
}

addProduct({ id: "p1", name: "Laptop", price: 120000 }); // OK
addProduct({ id: "p2", price: -100 }); // エラー: name required / price must be positive
JavaScript

直感的な指針

  • if (!data.xxx) → 値がなければエラー。
  • throw new Error('...') → エラーを発生させる。
  • 簡易チェックに便利。
  • 初心者は「必須項目」「範囲」「文字数」で練習すると理解が深まる。

これを覚えれば「入力データを簡単にチェック」できるようになり、バグや不正なデータを防ぐことができます。

タイトルとURLをコピーしました