# 「ユーザー選択」フィールドの戻り値が「空」の場合の判定方法

**URL:** https://community.cybozu.dev/t/topic/5429
**Category:** kintone 開発相談
**Created:** [2021 年 11 月 3 日午後 12:02 UTC](https://community.cybozu.dev/t/topic/5429 "2021-11-03T12:02:23Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![Legacy\_Account1343](https://avatars.discourse-cdn.com/v4/letter/l/ba9def/32.png) [@Legacy\_Account1343](https://community.cybozu.dev/u/Legacy_Account1343)
#### Post date: [2021 年 11 月 3 日午後 12:02 UTC](https://community.cybozu.dev/t/topic/5429/1 "2021-11-03T12:02:23Z")

</div>

お世話になっております。

表題の件、下記のコードで「ユーザー選択」フィールドの戻り値が「空」の場合でif分岐させたいのですが、うまくいきません。

```
(function () {
"use strict";

kintone.events.on('app.record.create.show', function(event) {
//ボタン
const element = document.createElement('button');
element.id='get_studentInfo';
element.innerText ='取得';
element.onclick = function () {
const rec = kintone.app.record.get();
const studentName = rec.record.練習生.value[0].name;
if (studentName == null){
alert('練習生を選択してください');
}else{
alert(studentName);
}
}
kintone.app.record.getSpaceElement('get_studentInfo').appendChild(element);

return event;
});
})();

```

このページ（[レコード詳細情報取得](https://community.cybozu.dev/hc/ja/articles/201942014#step2)）には、

「レコードデータを表すオブジェクトまたは null が返ります。 利用できない画面では null が返ります」

とあります。これは、

「空の場合はnullが返り、利用できない画面でもnullが返る」ということでしょうか。

この場合、フィールド値が空であればnullで条件を作れると思うのですが、どうしてもif文で引っ掛かりません。

おそらく初歩的なミスだと思いますが、何時間もハマっています。ご教示いただけると幸いです。

---

<div class="post-metadata">

### Author: ![Legacy\_Account63](https://avatars.discourse-cdn.com/v4/letter/l/6de8d8/32.png) [@Legacy\_Account63](https://community.cybozu.dev/u/Legacy_Account63)
#### Post date: [2021 年 11 月 4 日午前 12:14 UTC](https://community.cybozu.dev/t/topic/5429/2 "2021-11-04T00:14:02Z")

</div>

まずは、エラーが出てないか見たほうが良いと思います。  
[https://developer.cybozu.io/hc/ja/articles/207613916-%E5%8B%95%E3%81%8B%E3%81%AA%E3%81%84-%E3%81%9D%E3%82%93%E3%81%AA%E6%99%82%E3%81%AF%E3%83%87%E3%83%90%E3%83%83%E3%82%B0%E3%82%92%E3%81%97%E3%81%A6%E3%81%BF%E3%82%88%E3%81%86-%E5%85%A5%E9%96%80%E7%B7%A8](https://developer.cybozu.io/hc/ja/articles/207613916-%E5%8B%95%E3%81%8B%E3%81%AA%E3%81%84-%E3%81%9D%E3%82%93%E3%81%AA%E6%99%82%E3%81%AF%E3%83%87%E3%83%90%E3%83%83%E3%82%B0%E3%82%92%E3%81%97%E3%81%A6%E3%81%BF%E3%82%88%E3%81%86-%E5%85%A5%E9%96%80%E7%B7%A8)

その上で、パッと見たところのアドバイスとしては、練習生フィールドは、ユーザー選択フィールドですかね？

[ユーザーフィールドは配列](https://community.cybozu.dev/hc/ja/articles/202166330-%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB%E3%83%89%E5%BD%A2%E5%BC%8F#user-select)なので、nullkかどうかで判断するのではなく、配列の長さで判断します。

if (rec.record.練習生.value.length === 0) {

というような条件式が必要です。

&nbsp;

* * *

「レコードデータを表すオブジェクトまたは null が返ります。 利用できない画面では null が返ります」  
というのは、  
kintone.app.record.get();が使えない時、kintone.app.record.get();の返り値がnullになるという意味ですね。  
提示頂いたコード上では const recにnullが入るといういみです。

---

<div class="post-metadata">

### Author: ![Legacy\_Account1343](https://avatars.discourse-cdn.com/v4/letter/l/ba9def/32.png) [@Legacy\_Account1343](https://community.cybozu.dev/u/Legacy_Account1343)
#### Post date: [2021 年 11 月 4 日午前 1:43 UTC](https://community.cybozu.dev/t/topic/5429/3 "2021-11-04T01:43:26Z")

</div>

まずエラーについて、解決しました。

また練習生フィールドは、ユーザー選択フィールドです。上記のコードで解決しました。ありがとうございます。

配列の空判定という初歩的な内容だったのですね。

お騒がせして申し訳ありません、ありがとうございます。

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/flex015/uploads/cybozu/original/1X/d5c841c3c5a6cb66eed514001c1b45147c9e1f4f.png) [@system](https://community.cybozu.dev/u/system)
#### Post date: [2024 年 9 月 12 日午前 2:38 UTC](https://community.cybozu.dev/t/topic/5429/4 "2024-09-12T02:38:00Z")

</div>

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。
