見出し画像

kintoneの入力チェックを「設定表だけ」で追加する|半角・文字数・禁止文字をまとめて制御


kintoneでアプリを作っていると、こんな入力ルールを頼まれることがあります。

  • 社員番号を半角数字6桁にしたい

  • 商品コードに全角文字や記号を入れさせたくない

  • 備考を100文字以内にしたい

  • 特定の機種依存文字を禁止したい

  • 間違った入力のまま保存されるのを防ぎたい

一つずつJavaScriptを書くことはできます。

ただ、項目が増えるたびに処理を追加し、PCとモバイルの保存画面を確認し、エラー表示まで調整するのは意外と面倒です。

そこで、入力ルールを一か所にまとめて設定できるテンプレートを作りました。

書き換えるのはRULESだけ

たとえば社員番号を「必須・半角数字・6文字」にしたい場合は、設定表に次のように記載します。

employee_no: {
  label: '社員番号',
  required: true,
  digits: true,
  exactLength: 6
}

`employee_no` はkintoneで設定したフィールドコードです。

判定処理そのものを書き足す必要はありません。

対応している入力ルール

  • 必須入力

  • 半角数字のみ

  • 半角英数字のみ

  • 最大文字数

  • 最小文字数

  • 固定文字数

  • 禁止文字

  • 正規表現

同じフィールドに複数のルールを設定できます。

たとえば社員番号に「必須」「半角数字」「6文字」を設定し、全角3文字を入力した場合は、判定順で最初に見つかったエラーを表示します。

一方、社員番号と商品コードの両方が間違っている場合は、片方だけで処理を止めず、両方のフィールドへ同時にエラーを表示します。

対応画面

PC版は次の3画面に対応します。

  • 新規登録

  • 編集

  • 一覧画面のインライン編集

モバイル版は次の2画面に対応します。

  • 新規登録

  • 編集

モバイルの一覧インライン編集には対応していません。kintone側に該当するイベントがないためです。

こんな人向けです

  • kintoneの入力ミスを保存前に止めたい

  • JavaScriptをゼロから書くのは難しい

  • 複数項目のルールを一か所で管理したい

  • コードだけでなく導入手順とテスト項目も欲しい

購入前に確認してください(しばらく無料)

基本対象は「文字列(1行)」フィールドです。

サブテーブル、重複登録の確認、日付比較、ほかのレコードの参照、複数フィールド間の比較には対応していません。

また、既存のJavaScriptやプラグインとの組み合わせは環境ごとに異なります。必ずテスト用アプリで確認してから本番へ反映してください。

購入後に受け取れるもの

ZIPファイルに次の5ファイルを収録しています。

  1. `01_kintone_validation.js` — そのまま登録できる本体

  2. `02_設定例.txt` — 8種類のルール設定例

  3. `03_導入・テスト手順.txt` — 導入、確認、元に戻す方法

  4. `04_README.txt` — 対応範囲と制限事項

  5. `05_静的QA結果.txt` — 出荷前の確認内容

「コードだけ渡されても、どこを確認すればいいか分からない」という状態にならないよう、画面別のテスト項目まで同梱しています。



ダウンロード

以下のZIPファイルをダウンロードしてください。

最短の導入方法

  1. ZIPを展開します。

  2. `02_設定例.txt` を見ながら、`01_kintone_validation.js` 上部の `RULES` を書き換えます。

  3. kintoneのJavaScriptカスタマイズ画面で、PC用ファイルとして追加します。

  4. モバイルでも使う場合は、スマートフォン用にも同じファイルを追加します。

  5. アプリを更新します。

  6. `03_導入・テスト手順.txt` に沿って正常値とNG値を確認します。

最初から本番アプリへ入れず、テスト用アプリまたは本番アプリのコピーで確認してください。

設定例:商品コード

半角英数字、最大12文字にする例です。

product_code: {
  label: '商品コード',
  alphanumeric: true,
  maxLength: 12
}

`ABC123` は保存できます。

`ABC123` や `ABC-123` は保存できません。

設定例:禁止文字

product_name: {
  label: '商品名',
  forbiddenChars: ['①', '②', '③', '㈱']
}

禁止対象は配列の中へ追加できます。

設定例:独自形式

大文字英字3文字+数字4文字に限定する例です。

custom_code: {
  label: '管理コード',
  regex: /^[A-Z]{3}[0-9]{4}$/
}

`ABC1234` は保存できます。

`abc1234`、`AB1234`、`ABC1234` は保存できません。

正規表現の編集にはJavaScriptの知識が必要です。慣れていない場合は、ほかの7種類の設定だけを使用してください。

エラーメッセージも変更できます

標準メッセージをそのまま使用できますが、項目ごとに変更することもできます。

employee_no: {
  label: '社員番号',
  required: true,
  digits: true,
  exactLength: 6,
  messages: {
    required: '社員番号は必須です。',
    digits: '半角数字だけを使用してください。',
    exactLength: '社員番号は必ず6桁にしてください。'
  }
}

詳しい設定例はZIP内の `02_設定例.txt` にまとめています。

使用上の注意

  • フィールド名ではなくフィールドコードを指定してください。

  • 一覧インライン編集では、対象フィールドを一覧に含めて確認してください。

  • ファイル追加後はアプリ設定を保存し、アプリを更新してください。

  • 他のカスタマイズと競合する場合は、本ファイルだけを適用して切り分けてください。

  • 一部の絵文字や結合文字は、見た目の文字数とJavaScript上の文字数が一致しない場合があります。

動作しない場合に備え、外し方も `03_導入・テスト手順.txt` に記載しています。

この商品の位置づけ

これは「何でもできる万能コード」ではありません。

文字列項目でよく使う入力ルールを、JavaScriptに詳しくない人でも設定表として管理しやすくするStarter版です。

重複登録防止、条件付き必須、日付の前後関係、項目間比較などは含みません。

必要な機能と対象外を確認したうえで利用してください。

複数項目の組み合わせ重複も防ぎたい方へ

「顧客コード+対象年月」のように、複数項目がすべて一致した場合だけ保存を止めたい用途には、組み合わせ重複チェックStarterを用意しています。

kintoneで「複数項目の組み合わせ重複」を保存前に防ぐ|設定表だけで導入

公式仕様の参照先

本商品は2026年8月18日時点の公式仕様を確認して作成しています。

いいなと思ったら応援しよう!