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

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

表題の件、下記のコードで「ユーザー選択」フィールドの戻り値が「空」の場合で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;
});
})();

このページ(レコード詳細情報取得)には、

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

とあります。これは、

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

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

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

まずは、エラーが出てないか見たほうが良いと思います。
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

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

ユーザーフィールドは配列なので、nullkかどうかで判断するのではなく、配列の長さで判断します。

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

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

 


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

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

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

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

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

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