入力無しでの空白表示にさせたい

次の日付変換ソースコードについて、[‘EOP_年’]、[‘EOP_月’].のフィールドコードが設定されている項目に入力無しでレコードを追加した場合に、Invalid date と自動入力されてしまいます。Invalid date 無しの空白表示にさせたいのですが、Java におけるif else の条件分岐のやり方について、知識不足で困っています。

(function() {
“use strict”;

kintone.events.on([‘app.record.create.submit’,‘app.record.edit.submit’], function (event) {
var record = event[‘record’];

record[‘EOP’].value = moment({
years:record[‘EOP_年’].value, months:Number(record[‘EOP_月’].value) - 1, days:‘01’
}).add(1, ‘month’).startOf(‘month’).subtract(1, ‘days’).format(‘YYYY-MM-DD’);

return event;
}
);

})();

ao1962 様

やりたいことは

(1)入力された年・月の月末をEOPフィールドに入れる。

(2)年or月が未入力ならEOPフィールドを空白にする。

ということでよろしいでしょうか?それであれば、以下のようなソースでいかがでしょうか。

 

(function() {
  “use strict”;

  kintone.events.on([‘app.record.create.submit’,‘app.record.edit.submit’], function (event) {
    var record = event[‘record’];
    var EOP_year = record[‘EOP_年’].value;

    var EOP_month = record[‘EOP_月’].value;

    if (EOP_year !== undefined && EOP_month !== undefined) {
      record[‘EOP’].value = moment().year(Number(EOP_year)).month(Number(EOP_month)-1).endOf(‘month’).format(‘YYYY-MM-DD’);
    } else {
      record[‘EOP’].value = undefined;
    }

    return event;
  });

})();

 

 

ちなみに、月初の日付も必要なら

      record[‘月初’].value = moment().year(Number(EOP_year)).month(Number(EOP_month)-1).startOf(‘month’).format(‘YYYY-MM-DD’);

とすればできますよ。

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

参考にさせていただきます。