日付入力で一定期間を超えたらアラートを出す方法

お疲れ様でございます。

質問をさせていただきます。

 

日付A(日付フィールド)に入力された日付に対し日付B(日付フィールド)に3か月後の日付までしか選択できないよする方法を探しております。

過去の書き込み探してみたのですが、なかなか見つからず。。。

困り果てているといったところでございます。

 

参考にした書き込み

 

日付自動入力

https://developer.cybozu.io/hc/ja/community/posts/115010412646-%E6%97%A5%E4%BB%98%E8%87%AA%E5%8B%95%E5%85%A5%E5%8A%9B

 

日付フィールドの入力制限について

https://developer.cybozu.io/hc/ja/community/posts/360042691311-%E6%97%A5%E4%BB%98%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB%E3%83%89%E3%81%AE%E5%85%A5%E5%8A%9B%E5%88%B6%E9%99%90%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6

 

ご多忙の折に恐縮ではございますが、何卒ご教示いただけませんでしょうか。

 

以上失礼いたします。

moment.jsを使いますが、こんな感じで行けると思います。

“moment.js 日付操作” などでgoogle検索すれば参考になる記事が出てくると思うので一度調べてみてください。

  // 保存前イベントで発火
kintone.events.on(["app.record.create.submit", "app.record.edit.submit"], function (event) {
    var record = event.record;
    moment.locale("ja");
    var dateA = record.日付A.value;
    var dateB = record.日付B.value;
    var refDate = moment(dateA).add(3, "month").format("YYYY-MM-DD"); // 日付Aの3か月後の日付

    // 日付BがrefDateよりあとだったらエラーを出す
    if (moment(dateB).isAfter(refDate)) {
      record.日付B.error = "error!"
    }
    return event;
  });

 

ぬおぉぉぉ!

ありがとうございます!

お礼が遅れてしまいました。

 

12時間ぐらい悩んでいたのですが。。。。

いただいた内容で無事動作しております。

 

重ね重ねとなりますが、本当にありがとうございました。

 

また、引き続き自身でも調べ技術が向上できるようにさせていただきます。