kintone の入力項目必須チェック、バリデーションチェック、入力抑止、表示制御を行うプラグインです。
項目入力時に画面に状況が表示されます。
必須チェック・バリデーションチェック・入力抑止・表示制御を、条件式を指定するだけで処理出来ます。
Excel の計算式のような指定方法で、複雑な条件を指定できます。
- 必須チェック・バリデーションチェック・入力抑止・表示制御
- エラー及び必須項目入力枠に色表示
- エラー及び必須項目入力状況表示
- 項目絞り込みプラグイン(Ver.11 以降)連携
- PC・スマホ対応
rex0220 storesで、販売中です。
直近の変更点
※ Ver.57
・kintone 仕様変更により、一覧画面でテーブル表示時に項目の非表示の位置がズレる不具合対応
※ Ver.56
・プラグイン設定画面に、設定情報のクリップボードコピー機能を追加
応用例
項目検証プラグインの応用例です。
- rex0220 項目検証プラグイン よくある値チェック
- rex0220 項目検証プラグイン 数値チェック
- rex0220 項目検証プラグイン テーブルの重複チェック
- rex0220 項目検証プラグイン ドロップダウン選択肢による必須チェック
- rex0220 項目検証プラグインでユーザー選択の指定数をチェック
- rex0220 項目検証プラグイン ユーザー選択項目間の重複チェック
- rex0220 項目検証プラグイン ユーザー選択間の重複チェック2
- rex0220 プラグイン 祝日チェック
- rex0220 プラグイン 電話番号の半角自動変換とハイフォンチェック
- rex0220 プラグイン カタカナ変換とカタカナチェック
- rex0220 項目検証プラグイン チェックボックスによる表示制御
- rex0220 項目検証プラグイン チェックボックスによる表示制御(テーブル版)
- rex0220 項目検証プラグイン テーブル内項目の非表示
- rex0220 項目検証プラグイン テーブル行追加・削除ボタンの非表示制御
- rex0220 項目検証プラグイン 印刷時に項目を非表示
- rex0220 項目検証プラグイン 新規・編集時の入力不可制御
編集画面表示例
- メニュー欄に、必須項目入力状況(入力数/必須項目数)を表示
- 入力状況が分かりやすいように、必須項目入力枠に色表示。
※文字列複数行、リッチテキスト、ファイル、ルックアップの項目については、入力枠の色表示と、必須項目入力状況を入力したタイミングで更新されません。
(kintone API の制限によるものです)
![2017-08-23_14h44_36.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F100572%2F64a23b22-ea91-539c-0f37-81f91c72e12e.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=ed1ee57a7898445a9972c1218907fbab)
※文字列(複数行)、リッチエディター、ルックアップは、入力時のタイミングで、色枠表示が切り替わりません。
編集画面エラー表示例
保存ボタンクリック時、必須項目の未入力の場合、「必須」エラーが表示されます。
![2017-08-23_14h47_10.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F100572%2F8eaa228e-9a85-ca06-b8bd-b7de798ae3bf.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=5a0eb76bd76f747a3c1e83cb143499fe)
一覧画面編集例
一覧画面編集時も、必須項目の色枠表示されます。
![2017-08-23_14h58_51.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F100572%2Feffefb3e-b495-1587-0592-b8df4af998f2.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=4c6272ddbc37e23d5abe457d4f39dd14)
項目表示制御
項目の値により、項目の表示制御を行うことができます。
- ドロップダウン項目の値により、グループの表示制御する例
![2017-08-24_19h55_26.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F100572%2F1712cbd6-6ae1-932b-c202-4d26ec9d0b47.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=65bb1cfa0d763c79e4bc8f70d8c21546)
- 設定例
「ドロップダウン」の値が "sample3" の場合、「グループ」項目を非表示
![2017-08-24_20h03_41.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F100572%2Fa86d0e88-16c7-f9be-2e96-3bb827e38344.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=991c198d16fa0422bf5eb1f979a238c3)
- 画面操作例
初期化
非表示対象になった項目について、「保存」処理時に項目を規定値で初期化します。
編集画面表示中は、非表示の切り替えが発生しても、値はそのままです。
スマホ対応
スマホの編集画面でも、必須項目に色枠表示し、ヘッダ部に入力状況が表示されます。
スクロールしても、ヘッダ部の入力状況は表示されています。
![2017-08-20_16h28_36.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F100572%2F2a52c222-6a85-ca58-a42f-11ecd5154250.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=2b840e75223062270d9ace99b077cd29)
基本バリデーションチェック
kintone のフォーム設定で指定された制約条件をチェックします。
標準機能では、「保存時」にチェックされますが、本プラグインでは、
項目入力時にチェックが行われますので、入力ミスがすぐわかります。
-
数字項目の自動変換
全角文字数字を半角変換およびカンマの自動削除 -
数字項目の min、 max 指定のチェック
-
文字列の minLength、maxLength 指定のチェック
カスタムバリデーションチェック
- 条件式により、項目の入力値をチェックして、エラーメッセージを表示します。
- エラーメッセージにも、計算式を指定できます。
![2017-08-23_15h48_21.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F100572%2F8b850d73-68b4-ed6b-9729-7b858264db06.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=490f54c47097aeb93b1c124d4e8d84e6)
操作例
ドロップダウン項目により、必須項目を切り替えています。
#プラグインの追加
- 「kintone システム管理 > プラグイン」で追加します。
- 「アプリの設定 > プラグイン」で、アプリに追加します。
![2017-08-20_16h39_58.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F100572%2F31658d57-e340-09d4-4ce8-3762d12fbfb5.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=f7a6bc25ef46f6603e4aee236947750f)
プラグイン設定
- 対象アプリで、対象項目を選択し、必須条件・入力不可・非表示・検証の条件式を設定します。
- フィルタ機能で、表示項目を絞れます。
- グリッドのラベル欄をクリックすると、その項目順にソートされます。
- 初期化を指定すると、項目が非表示になったら、項目の規定値に更新します。
- 条件式には、計算式プラグインと同様の式を指定可能です。
- 編集ボタン
- テーブル項目: テーブル内項目の非表示を指定
- テーブル項目以外: 対象項目の検証条件を指定
- 「保存する」をクリックします。
※ 条件式に「改行」を指定して、式を見やすく出来ます。
「改行」は、実行時には無視されます。
※フォーム変更時は、本プラグインの再設定を行ってください。
![2018-04-13_11h07_32.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F100572%2F224a33a1-e345-38f1-ed76-3960ce7850a1.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=f4637e071d014d18b7f85e5ff05cd4ac)
条件式の例
必須チェック条件式例
- IN(ステータス, "アサイン", "処理中")
- ステータス=="処理中"
- ドロップダウン=="sample1"
全画面表示
全画面表示ボタンクリックで、全画面表示に出来ます。
もう一度クリックすると元に戻ります。
![2018-04-13_11h11_26.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F100572%2F3202404d-5c4b-4751-fc1c-d7f38936ba06.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=564ba52d338f8ca443aacddd63d3da7e)
フィルタ機能
- フィルタ入力欄に、キーワードを入力すると、該当する項目のみ表示されます。
- キーワードは、黄色表示となります。
- またドロップダウンで、抽出条件と対象欄を選択できます。
- リセットボタンで、フィルタをリセットします。
- フィルタ後に再表示されても、表示順は戻りません。必要に応じソート機能を使います。
![2018-04-13_11h08_16.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F100572%2Faa277620-e632-d642-f7b5-db36ba726788.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=b51d6ae089d75339047ad65a3d3d2550)
ソート機能
- グリッドのヘッダ部をクリックすると、ソートされます。
- もう一度クリックすると、逆順に表示されます。
![2017-09-19_09h12_00.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F100572%2Fbe0a5fd9-fa7b-d6c8-672d-2b13b96d2af2.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=db6353f9cfd514506a5d14dad2c8db98)
関数入力支援
編集エリア内で「?」を入力すると、指定可能な関数一覧が表示されます。
関数をクリックすると編集エリアに関数名が入力されます。
![2017-08-24_17h13_36.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F100572%2Fa3d0e80a-3674-7c24-67e0-a14554886d2b.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=596e77782d2d659dba592858d9dc3a68)
フィールドコード入力支援
編集エリア内で「:」(コロン)を入力すると、項目一覧(項目名:フィールドコード)が表示されます。
項目をクリックすると編集エリアにフィールドコードが入力されます。
![2017-08-24_17h16_01.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F100572%2Fb5cb7561-95b2-a4e9-ec47-cca5fb32fea0.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=92393dadda3933cbc0b271a7503efc9b)
テーブル内項目の非表示設定
- 非表示条件を指定します。
- 設定終了後、保存ボタンをクリックします。
![2020-06-14_11h08_20.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F100572%2F5c7cf86e-2af1-3ded-8b60-d6875e19b6b5.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=5b22f587a8f9dce701b677da52d98b6a)
検証条件の設定画面
- 検証条件とエラーメッセージを指定します。
- エラーメッセージにも、計算式を指定可能です。
- メッセージ(日)は、必須で、(英)・(中)は、オプションです。
- 設定終了後、保存ボタンをクリックします。
![2017-08-24_17h06_15.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F100572%2F13655051-afe2-735e-3b33-3a69be11cfbc.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=f3f6e0dd22d60a3aef397d5b0d3c1130)
- サブテーブル項目の検証条件設定例
![2017-08-24_17h09_04.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F100572%2F307beead-9d54-2f2e-c954-b27395e82507.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=0b17397e2fe0eea808427eed5a91f234)
条件式の設定例
- 条件式の優先順位は、検証条件<必須条件<入力不可<非表示<制約。
- 無条件に必須項目: 1 を指定
- 項目の値で制御:フィールドコード=="指定値"
- 項目の複数値で制御:IN(フィールドコード,"指定値1","指定値2")
- ステータスで制御: IN(ステータス,"指定値1","指定値2")
カスタムバリデーションチェック例
「住所」項目に、「都,道,府,県」が含まれているかをチェック
条件:AND(住所,NOT(TEST(住所,"都","道","府","県")))
メッセージ(日):"都・道・府・県が必要です"
※住所が入力されており、かつ住所に"都","道","府","県"が含まれていない場合に、メッセージ表示
ステータスを使った設定例
- ステータスの状態によって、非表示・入力不可・必須項目を設定します。
![2017-08-23_15h17_01.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F100572%2F7b4984ce-b48e-cba2-0742-792394a68823.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=5c335a50904d60209d64a3f48824abcb)
- ステータスによる、画面表示例
ステータス="完了"で、入力不可になっています。
![2017-08-21_08h56_03.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F100572%2Fa7d3dcd3-61df-41aa-d1fd-d253d124d0a2.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=7522af65ea28fed59f54499dccb8d753)
ルックアップ項目の設定例
kintone API の制限により、ルックアップ項目はリアルタイムで入力変更を検知できませんが、ルックアップのコピー項目を使うと、リアルタイムで検知できます。
- 必須条件: IN(ステータス,"指定値1","指定値2")
- 非表示: 1==0 && ルックアップコピー項目 == ""
非表示指定は、ルックアップ以外の項目でもOK。動作するきっかけがあればよい。
非表示に、式が true にならない条件で、ルックアップコピー項目を指定します。
この設定で、ルックアップコピー項目の変更のタイミングで、ルックアップ項目のチェックが行われます。
![2017-08-23_15h21_19.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F100572%2F28514893-fe0c-dd51-214e-b04dbe10b8a2.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=8e725ea7b46579c9b97df88a92dce3b4)
言語ごとの名称設定時の条件式について
項目の値に、言語ごとの名称を設定した場合、条件式には各言語に対応する条件を指定します。
- ドロップダウン、ラジオボタン、チェックボックス、複数選択、ステータス
チェックボックスの言語ごとの名称設定例
英語、日本語、中国語にそれぞれ名称を設定している
![2017-08-26_14h13_52.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F100572%2Fb13b7ab5-e4f0-2ee8-8aaf-b3608bf95ee7.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=b038649ebcf13d636b251b855e7fc231)
ユーザの設定言語により、表示される値が異なりますので、条件式も対応します。
sample1 が選択された場合の条件式は、下記のようにします。
IN(チェックボックス, "sample1", "サンプル1", "样品1")
プラグイン設定のダウンロード
- プラグイン設定をダウンロードできます。
- 計算式を変更している場合は、変更後の設定が対象です。
- ブラウザ IE については、プラグイン設定のダウンロードの動作対象外です。
![2017-09-18_20h10_18.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F100572%2Fc5537d96-68c0-ec33-d7c4-d328b677d2db.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=e06beac9290ea5238919cfe71a0e16f4)
プラグイン設定のアップロード
- プラグイン設定をアップロードできます。
- フィールドコードをキーにして、設定ファイルから計算式を設定します。
- ブラウザ IE については、プラグイン設定のアップロードの動作対象外です。
![2017-09-18_20h11_31.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F100572%2F3d7082ea-7cdf-1283-0464-09af54eee11c.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=2912a2940e78acfe5a5b9bcbe4c14290)
- プラグイン設定ファイル情報を確認して、設定します。
![2017-09-18_20h11_53.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F100572%2F04c9571b-03dd-15ea-395c-ce6240b8a82e.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=28b7acca65f9ecd4d930572572fa16a2)
注意事項
- 既に、JavaScript によるカスタマイズを行っているアプリの場合、処理が競合して、エラーになる場合があります。その場合は、該当するアプリでプラグインの使用を中止してください。