Notice
Recent Posts
Recent Comments
Link
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Tags
more
Archives
Today
Total
관리 메뉴

노승현

Validator 본문

Spring

Validator

nsh95 2024. 3. 13. 10:46

[사용자의 입력값 검증]

 

사용자가 입력ㄱ밧을 요청에 넣어서 보냈을 때,

최소한의 조건을 만족한 값인지 확인하는

Spring 의 기본제공기능 

 

-> 유효성 검증 객체 Validator 

 

 

 

webapp 하위에 VIEW 파일

WEB-INF 하위에 VIEW 파일을 두는 이유는? -> 사용자의 직접 접근을 막기 위해  

 

 

  1. @ModelAttribute(“이름”) 이름 정해서 활용
package com.koreait.day072;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import jakarta.validation.Valid;

@Controller
public class TestController {

	@RequestMapping("/")
	public String root() {

		return "index";
	}

	@RequestMapping("/test")
	public @ResponseBody String test(@Valid @ModelAttribute("member") MemberDTO mDTO, BindingResult result, Model model) {
		System.out.println(mDTO);

		// 결합도가 높은 코드 -> 별로
//		MemberDTOValidation validator=new MemberDTOValidation();
//		validator.validate(mDTO, result);

		if (result.hasErrors()) {

			if (result.getFieldError("name") != null) {
				System.out.println(result.getFieldError("name").getDefaultMessage());
			}

			if (result.getFieldError("age") != null) {
				System.out.println(result.getFieldError("age").getDefaultMessage());
			}

			return "index";
		}
//		model.addAttribute("name", mDTO.getName());
//		model.addAttribute("age", mDTO.getAge());
		
		
		return "main";
	}

	// 결합도가 낮은 코드
	// @InitBinder
	// void initBinder(WebDataBinder binder) {
	// 	binder.setValidator(new MemberDTOValidation());
	// }
}

 

'Spring' 카테고리의 다른 글

myBatis 로 필터검색 이관하기  (0) 2024.04.10
MyBatis (1)  (1) 2024.03.26
Spring Controller 변환 과정  (0) 2024.03.12
Spring 통합 질문  (0) 2024.03.08
Spring 이관 및 boot 실행  (0) 2024.03.08