Kintoneにおいて、テキストフィールドの表記揺れはそれなりの致命傷になることが少なくありません。定期的にCSVエクスポートして、修正して、またインポートし直すという作業を行っている担当者も少なくないようです。
であるならば、初めからテキストフィールドに対して、正規表現で入力制限をしてしまった方が遥かに効率的です。ということで、テキストフィールドに対して正規表現で入力制限を行うためのサンプルコードです。
<サンプルコードの仕様>
・コード内の"フィールドコード"を、入力制限対象にしたいフィールドコードに変更してください。
・text_pattern の正規表現を、任意の正規表現に変更してください。
・「// マッチしない場合、フィールドにエラーの内容表示」のメッセージ内容を正規表現に合わせ任意で変更してください。
サンプルコードを環境に合わせてご変更いただければ、かなり便利なスクリプトになるかと思いますので、ご自由にお使いください!
※ご質問にはお答えできませんので予めご承知おきくださいませ。
なお、買い切り&低価格の『表記ゆれ防止プラグイン』も販売していますので、こちらのプラグインの方がより効率的かつ手軽にフィールド入力制限を網羅することができ、表記ゆれへの対策が万全になります!
コード
(function () {
"use strict";
const fieldCode = "フィールドコード";
function regexCheck(event) {
// 例として、先頭か末尾のスペース禁止かつ全角スペースと半角スペースの連続使用を禁止
const text_pattern = /^[^\s]*(\S+ ?)*[^\s]$/;
const rec = event.record;
const value = rec.fieldCode.val;
//エラーメッセージ初期化
rec.fieldCode.error = null;
// フィールドコード用
if (value) {
if (value.length > 0) {
// パターンにマッチするかを確認
if (!value.match(text_pattern)) {
// マッチしない場合、フィールドにエラーの内容表示
rec.fieldCode.error = "先頭か末尾にスペースが入力されているか、全角スペースの使用または半角スペースが連続で入力されています。";
}
}
}
}
// 変更時イベント
kintone.events.on(
[
"app.record.create.change.fieldCode",
"app.record.edit.change.fieldCode",
"app.record.index.edit.change.fieldCode",
],
function (event) {
regexCheck(event);
return event;
}
);
// 保存前イベント
kintone.events.on(["app.record.create.submit", "app.record.edit.submit", "app.record.index.edit.submit"], function (event) {
regexCheck(event);
return event;
});
})();