お世話になっております。
プラグインカレンダーPlusを使って運用しているのですが、開始日時と終了日時のチェックができていません。つまり終了日時が開始日時より前であっても普通に登録されてしまいます。
登録時にチェック、警告を出すことは可能でしょうか。
開始日時、終了日時は「日時」項目になります。
お世話になっております。
プラグインカレンダーPlusを使って運用しているのですが、開始日時と終了日時のチェックができていません。つまり終了日時が開始日時より前であっても普通に登録されてしまいます。
登録時にチェック、警告を出すことは可能でしょうか。
開始日時、終了日時は「日時」項目になります。
チェックに関しまして < > で比較はできませんか?
警告について
record[‘終了日時’][‘error’] = ‘開始日時より後に設定してください’;
event.error = ‘終了日時にエラー’;
こちらでできると思います。
ADM様
カレンダーPlusを開発・販売しておりますラジカルブリッジの斎藤と申します。
平素はカレンダーPlusをご活用いただきましてありがとうございます。
さて、終了日時が開始日時より前であっても普通に登録できてしまうとのことですが、
こちらはあくまでkintone標準の追加・編集画面でのことかと思います。
カレンダーPlusとしては、基本的にはカレンダー画面上で日付や日時の範囲をマウスドラッグで指定して
予定登録していただく想定であり、この場合は常に終了日時は開始日時より後になります。
kintone標準の追加・編集画面からも予定登録するケースがあるということかと思いますが、
ご認識の通り、ここではカレンダーPlusとしては矛盾チェックは行っておりません。
ご自身で矛盾チェックをされる場合は、
・レコード追加画面の保存実行前イベント
・レコード編集画面の保存実行前イベント
のタイミングで開始日時と終了日時の比較を行い、終了日時が開始日時より前の場合は
ishikawayuito さまが書かれているようなエラーを表示して保存されないようにするといった
方法があるかと思います。
開始日時と終了日時の比較は、素のJavaScriptだと難しいので、Luxon等のライブラリを
使うとよろしいかと思います。
参考:Luxon を使って kintone の日付や日時フィールドのフォーマットをカスタマイズする
https://developer.cybozu.io/hc/ja/articles/900000985463
ご確認くださいませ。