inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

윤재성의 만들면서 배우는 Spring MVC 5

29강 유효성 검사

강사님, 저 유효성검사가 되지 않습니다.

532

EUNKYUNG JUNG

작성한 질문수 16

2

강사님 저 질문이있습니다.
아래는 4개 파일 다 소스 첨부했구요.
유효검사를 작성했는데, BindingResult result 했는데도 제대로 검사가 안돼서
초과하는 범위를 써도 에러가 0 이라고 뜹니다. 한 번 체크해주세요 감사합니다.
(pom.xml에도 아래와같이 추가는 잘 하였습니다.ㅜ..  

		<!-- https://mvnrepository.com/artifact/javax.validation/validation-api -->
		<dependency>
		    <groupId>javax.validation</groupId>
		    <artifactId>validation-api</artifactId>
		    <version>2.0.1.Final</version>
		</dependency>
		
		<!-- https://mvnrepository.com/artifact/org.hibernate.validator/hibernate-validator -->
		<dependency>
		    <groupId>org.hibernate.validator</groupId>
		    <artifactId>hibernate-validator</artifactId>
		    <version>7.0.0.Final</version>
		</dependency>

)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
package com.spring5.doitPro.controller;

import javax.validation.Valid;

import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.validation.ObjectError;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;

import com.spring5.doitPro.beans.DataBean1;

@Controller
public class TestController {

	@GetMapping("/input_data.do")
	public String input_date() {
		
		return "input_data";
	}
	
	@PostMapping("/input_pro.do")
	public String input_pro(@Valid DataBean1 dataBean1, BindingResult result) {
		System.out.printf("data1: %s\n", dataBean1.getData1());
		System.out.printf("data2: %s\n", dataBean1.getData2());
	
		//System.out.printf("BindingResult : %s\n", result);
	
		//유효성검사에서 위반된 부분이 있다면..
		if(result.hasErrors()) {
			//유효성위반결과들 모두 가져온다.
			for(ObjectError obj: result.getAllErrors()) {
				System.out.printf("메시지: %s\n", obj.getDefaultMessage());
				System.out.printf("code: %s\n", obj.getCode());
				System.out.printf("object name : %s\n", obj.getObjectName());
				
				System.out.println("---------------------------------");
			}
		}
		
		return "input_success";
	}
	
	
}
--------------------------------------------------------------------------------------------------------------------------------------------------------------
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h1>input_success</h1>
	<h3>data1 : ${dataBean1.data1 }</h3>
	<h3>data2 : ${dataBean1.data2 }</h3>
</body>
</html>
----------------------------------------------------------------------------------------------------------------------------------------------------------------
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h1>input_data</h1>
	<form action='input_pro.do' method='post'>
		data1 : <input type='text' name='data1' /><br/>
		data2 : <input type='text' name='data2' /><br/>
		
		<button type='submit'>확인</button>
	</form>
</body>
</html>

----------------------------------------------------------------------------------------------------------------------------------------------------------------

package com.spring5.doitPro.beans;

import javax.validation.constraints.Max;
import javax.validation.constraints.Size;

public class DataBean1 {
	
	@Size(min =2, max=10)
	private String data1;
	
	@Max(100)
	private int data2;
	
	public String getData1() {
		return data1;
	}
	public void setData1(String data1) {
		this.data1 = data1;
	}
	public int getData2() {
		return data2;
	}
	public void setData2(int data2) {
		this.data2 = data2;
	}
	
	
	
}

java spring XML MVC

답변 3

2

윤노아

너무 오래전 댓글이어서 분명 이미 해결 하셨을 것 같은데

저도 같은 증상으로 유효성검사에 실패했습니다.

저는 pom.xml에 추가한 Hibernate의 버전을 강사님이

제공하신 코드의 버전으로 바꾸니 해결되었습니다.

혹시라도 유효성검사가 안되시는 분들은 pom.xml설정의 Hibernate부분의 버전을 낮추어보세요.

<dependency>
    <groupId>org.hibernate.validator</groupId>
    <artifactId>hibernate-validator</artifactId>
	<version>6.1.2.Final</version>
</dependency>

0

고규자

덕분에 해결했습니다! 감사합니다!

0

소프트캠퍼스

오류 메시지를 같이 올려주세요

dependencies 셋팅 부분에서 에러가 발생하네요

0

286

1

학습 페이지 가 열리지 않아서 강의 시청이 안 됩니다.

1

262

1

8강 에서 servlet-context.xml에 설정에서 에라

0

398

1

자바 상단메뉴 셋팅 다하고 실행시키니 에러가 납니다.

0

1805

1

Dynamic web 프로젝트를 메이븐 프로젝트로 컨버트해서 사용하는 이유가 궁굼합니다.

0

559

1

eclipse버전이 달라 메뉴가 달라요.

0

466

2

XML 방식에서 BoardDao의 modifyContentInfo

0

384

1

property editor 설치할때 오류가 나네요

0

3027

2

Java 설정 방식에서

0

374

1

22강과 23강의 "강의 내용이 같은지 확인" 부탁드립니다.

0

390

1

jsp form:hidden 부분 타임 리프 변환 혹시 질문 될까요?

0

423

1

13강 List<Integer> data3

0

335

1

sqldeveloper 22.2버전과 오류

0

542

1

44강 데이터 베이스 테이블 만들기중인데, 테이블이 안 만들어집니다,.

0

658

1

pom.xml 셋팅 질문

0

290

1

오류 질문드립니다.

0

323

1

오류 질문드립니다.

0

463

0

생성 오류

0

299

1

에러 질문입니다.

0

631

1

에러 질문드립니다.

0

335

1

에러 질문입니다.

0

566

1

maven dependency management

0

245

1

에러질문

0

233

2

이미지

0

311

1