実現したいこと:("yyyy-MM-dd")で登録する
("yyyy/MM/dd")と("yyyy-MM-dd")の違いについても教えていただきたいです
現状:("yyyy/MM/dd")なら登録できるが("yyyy-MM-dd")で登録できない(typeMismatch)Formクラスが怒られる
Controller
1public ModelAndView insert(@ModelAttribute("KakeiboForm") Kakeibo entity, @Valid KakeiboForm form, 2 ModelAndView mav) { 3 mav.setViewName("init"); 4 mav.addObject("kakeiboForm", new KakeiboForm()); 5 Date date = new Date(); 6 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 7 String today = sdf.format(date); 8 mav.addObject("date", today); 9 mav.addObject("datalist", form); 10 repository.saveAndFlush(entity); 11 return mav; 12 }
Form
1public class KakeiboForm { 2 private Date date; 3 //その他のフィールド省略 4 //getter setter自動生成
エラー内容
Validation failed for object='KakeiboForm'. Error count: 1
org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 1 errors
Field error in object 'KakeiboForm' on field 'date': rejected value [2020-01-11]; codes [typeMismatch.KakeiboForm.date,typeMismatch.date,typeMismatch.java.util.Date,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [KakeiboForm.date,date]; arguments []; default message [date]]; default message [Failed to convert property value of type 'java.lang.String' to required type 'java.util.Date' for property 'date'; nested exception is org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.String] to type [@javax.persistence.Column java.util.Date] for value '2020-01-11'; nested exception is java.lang.IllegalArgumentException]
あなたの回答
tips
プレビュー