[SpringBoot] Datepicker를 통해 전달 받은 text를 Date 타입으로 전달
본문 바로가기

Web 개발/Java, SpringBoot, JPA

[SpringBoot] Datepicker를 통해 전달 받은 text를 Date 타입으로 전달

728x90
반응형
Whitelabel Error Page:
There was an unexpected error (type=Bad Request, status=400).
Validation failed for object
Field error in object : rejected value []; ,typeMismatch.inputDate,typeMismatch.java.util.Date

 

Datepicker 사용하면서 위와 같은 오류가 발생하였다.

오류메세지를 전부 적을수는 없지만 정리하자면 위와 같다.

 

이는 String 타입으로 넘어온 값을 Date타입으로 변환하지 못하여 발생한 에러이다.

따라서 다음과 같이 해결하였다.

 

1. datepicker 사용시 format 지정

$(document).ready(function() {

	// input 중 inputDate 로 끝나는 모든 객체에 datepicker 적용
	$("input[name$='inputDate']").datepicker({
                format: 'yyyy-mm-dd',
                autoclose: true,
                clearBtn: true,
                todayBtn: "linked",
                todayHighlight: true,
                zIndexOffset: 1000

            }).on('hide.bs.modal', function (e) {
                //datepicker가 close될 때, sign-up-modal까지의 hide.bs.modal Event의 전파를 막음.
                e.stopPropagation();
            });

});
<input type="text" name="inputDate" class="form-control"/>

 

2. inputDate에 format 지정

@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date inputDate;

 

728x90
반응형