ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JSR-308
    웹페이지 제작을 위한 스프링공부 2020. 5. 12. 18:39

    JSR-308

     

    @NotEmpty : 주입된 값의 길이가 0이면 오류 발생. 공백도 글자로 인식합니다.

     

    @NotBlank : 주입된 값이 공백을 제거하고 길이가 0이면 오류 발생.

     

    @Positive : 양수가 아니라면 오류 발생

     

    @PositiveOrZero : 0 또는 양수가 아니라면 오류 발생

     

    @Negative : 음수가 아니라면 오류 발생

     

    @NegativeOrZero : 0 또는 음수가 아니라면 오류 발생

     

    @Email : 이메일 형식이 아니라면 오류 발생. 중간에 @ 가 있는지 정도만 확인한다.

     

     

    DataBean1

    package kr.co.softcampus.beans;
    import javax.validation.constraints.Email;
    import javax.validation.constraints.Negative;
    import javax.validation.constraints.NegativeOrZero;
    import javax.validation.constraints.NotBlank;
    import javax.validation.constraints.Positive;
    import javax.validation.constraints.PositiveOrZero;
    
    public class DataBean1 {
    	@NotBlank
    	private String data1;
    
    	@NotBlank
    	private String data2;//space 길이를 0dmfh 판단
    	
    	@Positive
    	private int data3;
    	
    	@PositiveOrZero
    	private int data4;
    	
    	@Negative
    	private int data5;
    	
    	public int getData6() {
    		return data6;
    	}
    
    	public void setData6(int data6) {
    		this.data6 = data6;
    	}
    
    	public String getData7() {
    		return data7;
    	}
    
    	public void setData7(String data7) {
    		this.data7 = data7;
    	}
    
    	@NegativeOrZero
    	private int data6;
    	
    	@Email
    	private String data7;
    	
    
    	public int getData4() {
    		return data4;
    	}
    
    	public int getData5() {
    		return data5;
    	}
    
    	public void setData5(int data5) {
    		this.data5 = data5;
    	}
    
    	public void setData4(int data4) {
    		this.data4 = data4;
    	}
    
    	public void setData2(String data2) {
    		this.data2 = data2;
    	}
    
    	public DataBean1() {//초기값 설정
    		this.data1="abcd";
    		this.data2="abcd";
    		this.data3=50;
    		this.data4=50;
    		this.data5=-50;
    		this.data6=-50;
    		this.data7="ohmyfun@naver.com";
    	}
    	
    	public String getData1() {
    		return data1;
    	}
    
    	public void setData1(String data1) {
    		this.data1 = data1;
    	}
    	
    	public String getData2() {
    		return data2;
    	}
    	
    	public int getData3() {
    		return data3;
    	}
    
    	public void setData3(int data3) {
    		this.data3 = data3;
    	}
    
    	
    }
    

    TestController

    package kr.co.softcampus.controller;
    
    import javax.validation.Valid;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.validation.BindingResult;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.PostMapping;
    
    import kr.co.softcampus.beans.DataBean1;
    
    @Controller
    public class TestController {
    
    	@GetMapping("/input_data")
    	public String input_data(DataBean1 dataBean1) {
    		return "input_data";
    	}
    	
    	@PostMapping("/input_pro")
    	public String input_pro(@Valid DataBean1 dataBean1,BindingResult result) {
    		
    		if(result.hasErrors()) {
    			return "input_data";
    		}
    		
    			return "input_success";
    	}
    }
    

    error_message.properties

    NotEmpty.dataBean1.data1 = data1의 값의 길이는 0보다 커야합니다
    NotBlank.dataBean1.data2 = data2의 값의 길이는 공백을 제거하고 0보다 커야합니다
    Positive.dataBean1.data3 = data3은 양수만 허용합니다
    PositiveOrZero.dataBean1.data4 = data4는 0혹은 양수만 허용합니다
    Negative.dataBean1.data5 = data5는 음수만 허용합니다
    NegativeOrZero.dataBean1.data6 = data6는 0혹은 음수만 허용합니다
    Email.dataBean1.data7 = data7는 이메일 형식만 허용합니다

     

    input_data.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@ taglib prefix='form' uri="http://www.springframework.org/tags/form" %>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    	<h1>input_data</h1>
    	<form:form action='input_pro' modelAttribute="dataBean1" method='post'>
    		data1: <form:input type="text" path='data1'/><br/>
    				<form:errors path='data1'/><br/><!-- dataBean1안에 들어있는 data1이라는 변수의 유효성검사를 했을떄 해당 유효성 검사를 실패했을때 dataBean1안의 data1과 관련된 에러 메시지를 가져와서 실행하겠다. --> 
    				
    		data2: <form:input type="text" path='data2'/><br/>
    				<form:errors path='data2'/><br/>			
    				
    		data3: <form:input type="text" path='data3'/><br/>
    				<form:errors path='data3'/><br/>
    				
    		data4: <form:input type="text" path='data4'/><br/>
    				<form:errors path='data4'/><br/>	
    				
    		data5: <form:input type="text" path='data5'/><br/>
    				<form:errors path='data5'/><br/>
    				
    		data6: <form:input type="text" path='data6'/><br/>
    				<form:errors path='data6'/><br/>	
    				
    		data7: <form:input type="text" path='data7'/><br/>
    				<form:errors path='data7'/><br/>									
    				
    	<form:button type='submit'>확인</form:button>
    				
    	</form:form>
    </body>
    </html>

    '웹페이지 제작을 위한 스프링공부' 카테고리의 다른 글

    interceptor  (0) 2020.05.12
    Validator  (0) 2020.05.12
    JSR-303  (0) 2020.05.12
    에러 메시지 커스터마이징  (0) 2020.05.12
    유효성 검사  (0) 2020.05.10
Designed by Tistory.