担当者にAさんが含まれていたらエラー

お世話になります。

担当者というユーザー選択フィールドの中に「Aさん」が含まれていた場合は、作成時にエラーというような挙動にしたいのですが、そのようなチェックはどのように行えばよいでしょうか。

for(let i = 0; i < event.record.担当者.value.length; i*++){
          if(Aさんのcode == event.record.担当者.value[i][‘code’]){

               error処理
              }
        }

こちらでどうでしょうか

ishikawayuito様

ありがとうございます。

担当者のcodeというのは担当者名とは別のものなのでしょうか。

 

nameでも挙動は変わらないです。

ありがとうございます。

下記の通りjsを作成したのですが、うまく動作しません。

組織を取得して特定組織以外は該当担当者を含む登録ができないような作りにしたいです。

kintone.events.on([‘app.record.create.show’],function(event){
 
  var loginUserCode = kintone.getLoginUser()[‘code’]; // ログイン名を取得
  var path = ‘/v1/user/organizations’;
  var data = {
    code: loginUserCode // ログインユーザーを指定
  };
 
  kintone.api(path, ‘GET’, data, function(resp){
    var record = kintone.app.record.get(); // レコード情報を取得
    record[‘record’][‘組織’][‘value’] = resp[‘organizationTitles’][0][‘organization’][‘name’]; // フィールドコードが「組織」のフィールドに取得した組織名をセット
    kintone.app.record.set(record); // レコード情報をセット
      if(event.record.組織.value !== “組織テスト”
         for(let i = 0; i < event.record.担当者・同行者.value.length; i*++){
          if(“テストくん” == event.record.担当者・同行者.value[i][‘name’]){

               event.error = ‘スケジュール登録が許可されていません’;   
              }
        }
  }, function(resp){
    var errmsg = ‘所属組織取得時にエラーが発生しました。’;
    if (resp.message !== undefined){
      errmsg += ‘’ + resp.message;
    }
    alert(errmsg);
  });
});

console画面でエラーはどのようにでていますでしょうか

お恥ずかしいですがそもそも構文エラーが多発しています^^;

for(let i = 0; i < event.record.担当者・同行者.value.length; i*++ ){

デバッグにて確認したところこの部分に 「Uncaught SyntaxError:Invalid or unexpected token」 エラーが発生しているようです。

横から失礼します。

for(let i = 0; i < event.record.担当者・同行者.value.length; i*++ ){

"i*++"ではなく、"i++"になります。

event.record.担当者・同行者.value.length

フィールドコードに全角の記号を使用するのはあまり好ましくありません。

半角記号を使用するようにした方が良いかと思います。(担当者_同行者)

 

動作確認はしておりませんが、全体的には以下のようになるかと思います。

(() => {
  'use strict';

  kintone.events.on('app.record.create.show', event => {
    var user_code = kintone.getLoginUser()['code']; // 現在ログインしているユーザーのCODEを取得
    var data = {
      code: user_code
    };

    kintone.api('/v1/user/organizations', 'GET', data).then(resp => {
      var record = kintone.app.record.get();
      var organization = resp['organizationTitles'][0]['organization']['name'];
      record['record']['組織']['value'] = organization;

      if (organization !== '組織テスト') {
        // 担当者に選択されているユーザー分繰り返します
        for (var i = 0; i < record['担当者']['value'].length; i++) {
        // i番目のユーザー名が'テストくん'であればアラートを出します
          if (record['担当者']['value'][i]['name'] === 'テストくん') {
            alert('スケジュール登録が許可されていません');
return false;
          }
        }
      }
      kintone.app.record.set(record);
    }).catch(err => {
      // エラーが発生した際にコンソールにエラー内容を表示します
      console.log(err);
      alert('組織の取得に失敗しました;;');
    });
  });
})();

>mionix

回答いただきありがとうございます。

ご指摘の通り訂正し、内容確認したところ想定の動きをさせることができました。

感謝申し上げます。わざわざ丁寧に記載いただきありがとうございました。