inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

예제로 배우는 스프링부트 입문

multipart/form-data 로 전달된 파라미터에 대한 @NotNull, @NotEmpty 관련 다시 질문 드립니다.

해결된 질문

672

heejoonk5

작성한 질문수 7

0

약3개월전에 질문을 드렸는데 아직 해결이 안되어 오래 지났지만....다시 질문드려요

.

.

구체적인 상황을 설명 드리자면

<form name="frm" method="post" action="boardWrite" enctype="multipart/form-data">

      <input type="text" name="name">

     <input type="text" name="pass">

     .....

</form>

.

위의 폼이 submit 되어 Controller 에 전달될때

.

@RequestMapping(value="boardWrite", method = RequestMethod.POST)

public String board_write(@ModelAttribute("dto") @Valid BoardVO Boardvo,  BindingResult result, Model model, HttpServletRequest request) {

System.out.println(spboardvo.getName());

System.out.println(request.getParameter("name"));

                       if( result.hasErrors)  return "writeForm";

}

.

위처럼  BoardVO 객체로 받거나 HttpServletRequest 로 받는 파라미터는 모두 null 로 표시가 됩니다

따라서 @Valid  와 dto 의 어노테이션이  전달값이 null 인경우로 모두 처리되어 정상값을 입력하여 파라미터로 전달하여도 writeForm 으로 리턴되구요.

파일이 업로드가 잘되는건 이미 확인했으나 그외 파라미터들에 대한 질문을 드린거였습니다.

.

multipart/form-data 로 전달된 파라미터를   BoardVO 로 받아서  @Valid 를 적용해서 처리할수는 없는 건지 ,

아니면 모두 MultipartRequest 객체로 내용을 받은 후에

해당단원에 있었던 내용처럼 Validator를 implements 한 ContentValidator 클래스를 만들어 써야만

하는건 지 궁금합니다

spring-boot

답변 2

1

이재환

네 정확히 뭘 물어보시는지 이해가 되었습니다.

일단 

public String board_write(@ModelAttribute("dto") @Valid BoardVO Boardvo,  BindingResult result, Model model, HttpServletRequest request) {

public String board_write(@ModelAttribute("dto") @Valid BoardVO Boardvo,  BindingResult result) {

과 같이 사용하시고요. 섞어 쓰시면 안 됩니다.

안터넷에 검색해보시면 복잡한 방법들이 나오는데, 저나 실무자들은 가끔 꼼수를 사용합니다.

보통은 파일 선택만 하게 하는데, 그 옆에 버튼을 하나 더 두고 파일을 먼저 업로드시키고 그다음 나머지 내용을 등록시키면서 밸리데이션 체크를 하는 겁니다.

한꺼번에 처리하시려면 인터넷 검색에서 나오듯 엄청 복잡하고 힘든 과정을 거쳐야 하는데, 그 결과도 썩 좋지는 않습니다.

0

heejoonk5

아 네 잘 알겠습니다.... 따로 쓰는 방법을 연구해봐야 겠네요   답변 감사합니다

java Code로 DI 사용하기

0

123

1

sts 24년 8월 3일 최신버전에서 toolchain 오류

0

727

2

34강 3.2.1버전에서 update만 안됨

0

427

1

26강, springboot 3.1.5에서는 에러

0

335

1

33강 jpa 질문입니다

0

527

2

25강 security 관련 에러 (Is there an unresolvable circular reference?)

0

2196

1

스프링 버전 관리 관련하여 문의드립니다.

0

516

1

security 로그인 관련 질문합니다.

0

315

1

getContent,getWriter 안만들고 어떻게 사용했나요?

0

284

1

스프링부트 환경 설정 관련

0

418

1

강의자료 관련

0

371

2

안녕하세요 선생님. 오류 관련 질문 드립니다.

0

401

1

sqlSessionFactory는 생성안해도 되나요??

0

401

1

.예제 소스 어떻게 그대로 복사해서 실행하나요?

0

407

2

안녕하세요 질문입니다.

0

263

2

에러 발생..

0

291

1

@Transactional 선언 위치

0

301

1

외부 톰캣을 사용할 경우

0

247

1

getFieldError 질문

0

274

1

@Valid 질문입니다

1

271

1

createPage.jsp 질문

0

245

1

ContentValidator 클래스 내 validate 메소드 질문

0

174

1

(09) Validator 사용하기 @ModelAttribute("dto") 가 사용된 이유?

0

264

1

Spring Boot 2.5에서 MyBatis선택이 안되네요..

0

344

2