カテゴリー内の他の記事

ユーザー選択パーツに一人だけ選べるように制御してみる

フォローする

はじめに

タスク管理やToDoなど、担当者を1名しか選べないように制御したいときはないでしょうか?
しかし、kintoneの標準機能では、基本的にユーザー選択フィールドは複数のユーザーを選択できてしまいます(´д`ι)

こんなときは、JavaScriptカスタマイズで解決していきましょう!

今回は、「ユーザーを1名のみ登録できる」カスタマイズを紹介いたします。

アプリの準備

それでは、今回利用するアプリを準備しましょう~

 

 ※ユーザー選択フィールド以外のフィールドの配置は任意です。

フィールド名 フィールドタイプ フィールドコード

担当者

ユーザー選択

ユーザー選択

 

ポイント

ソースコードを書く前に、次のポイントを確認しましょう。

 

ソースコード

 

動作確認

このソースコードを先ほど準備したアプリに適用します。

レコード追加画面、レコード編集画面、レコード一覧編集画面でそれぞれ、二人以上の担当者を指定して保存してみましょう。

エラーメッセージが出てきましたね♪

いかがでしょうか。

簡単にできましたねヾ(≧▽≦)ノ゙ゥキャキャ☆

記事に関するフィードバック

直接的に記事と関連がないご質問はcybozu developer コミュニティをご活用ください。

Avatar
山口 大介

ソースコードのところに何も記載されていないのですが、どうすればサンプルコードを見ることができるのでしょうか。

Avatar
cybozu Developer team

山口 大介 様

お世話になっております。
cybozu developer networkチームです。

こちら手元で確認すると、ちゃんと表示されていました。
念のため、ブラウザのキャッシュを消して、もう一度リロードしてみていただますでしょうか。

お手数おかけしますが、よろしくお願いいたします。

 

Avatar
マツ

ソースコードをコピーしてフィールド名を実際のアプリのフィールド名に変更しただけなのですが、保存ボタンを押しても反応がなく動作しません。

どこに原因があるか教えていただけませんでしょうか?

よろしくお願いいたします。

※以下実装したソース

(function() {
    "use strict";
    var myEvent = ["app.record.create.submit", "app.record.edit.submit", "app.record.index.edit.submit"];
    kintone.events.on(myEvent, function(event) {
        //ユーザー情報を取得する
        var record = event.record;
        var selectedUsers = record['訪問社員']['value'];
        if (selectedUsers.length > 1) {
            //一人以上の指定の場合は、errorプロパティにメッセージを代入する
            event.error = "担当者は一人しか指定できません。";
        }
        return event;
    });
})();

Avatar
マツ

javascriptファイルの文字コードが「UTF-8」になっていないかったのが原因でした。

失礼いたしました。

ログインしてコメントを残してください。