日付未入力時の初期値について

 Kintoneで日付項目が未入力時の判定をしたいのですが、教えてください。

以下のようにしましたが、trueになりません。

record[‘日付’][‘value’] === “” 

record[‘日付’][‘value’] === null 

 

よろしくお願いします。

Hiroshiさん、こんにちは

フィールドコードが正しければ、日付フィールドの空は === null で判定できるはずです。

(参考:https://developer.cybozu.io/hc/ja/articles/202166330 下の方に値が空の場合のvalueが書いてあります)

 

このフィールドはサブテーブルの中に設置したフィールドであったりしませんか?
であれば、指定方法が異なります。

Shotarao様

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

なぜかnullの判定がうまくいかないので、以下のようにしました。

 

if (record[‘日付’][‘value’]) {

 window.alert(‘日付が入力されました。’);

} else {  window.alert(‘日付が未入力です。’);

}

Hiroshiさん

以下のような感じで検証していますが、判定できています。何が原因なのでしょうかね。。。

(function() {
"use strict";

kintone.events.on(['app.record.create.submit', 'app.record.edit.submit',
'app.record.create.change.日付', 'app.record.edit.change.日付'], function (event){

var record = event.record;

if (record.日付.value === undefined) {
record.文字列.value = '日付未記入';
} else {
record.文字列.value = '';
}

return event;

});
})();

 

Hiroshi さん、 Shotaro Matsuda さん

kintoneでJavaScriptを書くときに気をつけるべき空判定の知識が参考になると思います。

 

rex0220さん、どうもありがとうございます。

値が空 を示すvalueによって、true/falseが異なるということですね。

日付フィールドの場合は、空=null これは、falseとなる ということですね。

最初に検証したときに、思っていたのと逆の挙動をしたので気が付きました。

Hiroshiさん、

=== null の場合はtrueではなく、falseで正常ということですね。

Shotaro様 rex0220様

ありがとうございます。

私が確認したかったことは、日付フィールドで未入力だった時、どんな値が入って

いるかです。その時、trueにする際の判定文を知りたかったのです。

以上、よろしくお願いします。

Hiroshi さん

実際の値を知りたい場合は、console を使って、内容を確認しましょう。

console.log('日付:', record['日付'].value);

 

日付未入力時のコンソール出力は、下記のとおり

日付: null

これを踏まえて、日付が未入力の判定は、

if (!record['日付'].value) {
// 未入力時の処理
}

rex0220様

ありがとうございました。

今後は、コンソール活用してみます。