diff --git a/team1/src/main/java/com/example/demo/controller/LendingController.java b/team1/src/main/java/com/example/demo/controller/LendingController.java index 2c44fd6..ab7ea82 100644 --- a/team1/src/main/java/com/example/demo/controller/LendingController.java +++ b/team1/src/main/java/com/example/demo/controller/LendingController.java @@ -63,6 +63,7 @@ public class LendingController { } } + /** * 書籍貸出申請 実行処理 * @@ -71,12 +72,23 @@ public class LendingController { * @return 遷移先の画面 */ @PermissionCheck - @SessionCheck - @RequestMapping(value = "反応するURLを記載", method = RequestMethod.POST) + @SessionCheck + @RequestMapping(value = "反応するURLを記載", method = RequestMethod.POST) public String executeLending(@ModelAttribute("lendingForm") LendingForm lendingForm, Model model) { final String LENDING_COMPLETE = "書籍申請完了しました"; + try + + { + + } catch (Exception e) { + // ログイン情報の破棄 + httpSession.invalidate(); + e.printStackTrace(); + + // エラーログ出力 + LOGGER.log(Level.SEVERE, SEVERE_ERROR_MESSAGE, e); + // エラー画面遷移 + return TransitionTargetPageNameKeyword.ERROR_HTML; + } } - try { - - }catch } diff --git a/team1/src/main/java/com/example/demo/form/LendingForm.java b/team1/src/main/java/com/example/demo/form/LendingForm.java new file mode 100644 index 0000000..ecd438e --- /dev/null +++ b/team1/src/main/java/com/example/demo/form/LendingForm.java @@ -0,0 +1,83 @@ +package com.example.demo.form; + +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; + +import org.springframework.format.annotation.DateTimeFormat; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class LendingForm { + /** + * 蔵書ID + */ + private String id_book; + /** + * 書籍名 + */ + private String nm_book; + + //貸出日と返却予定日にアノテーションで日付や時刻の表示形式を指定 + + /** + * 貸出日 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd") + //LocalDate型にて日付(年・月・日)を取り扱う + private LocalDate date_borrow; + + /** + * 返却予定日 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate date_scheduled_return; + + //isNullメソッドを作り、未入力になってないか入力チェックを行う + /** + * 日付用の null 判定メソッド + */ + private static boolean isNull(LocalDate date) { + return null == date; + } + + //画面でエラーが出た場合の表示 + //エラーが出た場合、リストに文言を追加する + public List validateParameter() { + final String DATE_BORROW_NULL = "貸出日 が未入力です。"; + final String DATE_RETURN_NULL = "返却予定日 が未入力です。"; + final String DATE_ORDER_ERROR = "返却予定日 には、貸出日以降の日付を選択してください。"; + + List error = new ArrayList<>(); + + // 1.「貸出日」が未入力(null)かどうかをチェックする + if (date_borrow == null) { + //errorリストの中にメッセージ"貸出日が未入力です"を入れる + error.add(DATE_BORROW_NULL); + } + + // 2.「返却予定日」が未入力(null)かどうかをチェック + if (date_scheduled_return == null) { + //errorリストの中にメッセージ"返却予定日 が未入力です。"を入れる + error.add(DATE_RETURN_NULL); + } + + // + // 3「両方ともnullではない(入力されている)」ときのみ日付の前後を比較する + if (date_borrow != null && date_scheduled_return != null) { + + // 返却予定日が貸出日より過去の場合のエラー + if (date_scheduled_return.isBefore(date_borrow)) { + //errorリストの中にメッセージ"返却予定日 には、貸出日以降の日付を選択してください。"を入れる + error.add(DATE_ORDER_ERROR); + } + } + + return error; + } +} \ No newline at end of file diff --git a/team1/src/main/resources/templates/application.html b/team1/src/main/resources/templates/application.html index 9e8aed2..f23d059 100644 --- a/team1/src/main/resources/templates/application.html +++ b/team1/src/main/resources/templates/application.html @@ -16,7 +16,7 @@ -
+ @@ -29,12 +29,17 @@ + + - + + - + + - + - +
貸出日
返却予定日
diff --git a/team1/src/main/resources/templates/applicationComplete.html b/team1/src/main/resources/templates/applicationComplete.html index 3c829ff..868a6fb 100644 --- a/team1/src/main/resources/templates/applicationComplete.html +++ b/team1/src/main/resources/templates/applicationComplete.html @@ -16,14 +16,15 @@ -

書籍申請完了しました

+

書籍貸出申請完了しました

- - 書籍一覧に戻る - - - メニューに戻る + \ No newline at end of file diff --git a/team1/src/main/resources/templates/applicationConfirm.html b/team1/src/main/resources/templates/applicationConfirm.html index 42196dd..2f90bf7 100644 --- a/team1/src/main/resources/templates/applicationConfirm.html +++ b/team1/src/main/resources/templates/applicationConfirm.html @@ -34,11 +34,11 @@
貸出日
返却予定日
@@ -48,8 +48,11 @@
- - 申請情報入力に戻る + + + \ No newline at end of file