2017-11-13 11 views
0

양식 입력의 유효성을 검사하고 싶습니다. 특히 name 매개 변수의 최대 길이는 255 자입니다.javax.servlet.ServletException : HV000030 : 형식의 유효성 검사기를 찾을 수 없습니다. char []

import org.hibernate.validator.constraints.Length; 
import org.springframework.validation.annotation.Validated; 
import org.springframework.web.bind.annotation.*; 

@Validated 
@RestController 
@RequestMapping("/profile") 
public class ProfileController { 

    @PostMapping(value = "/savename") 
    public Response saveName(
      @Length(max = 255) 
      @RequestParam(value = "name", required = true) char[] name 
    ) { 
     return ... 
    } 

} 

문제점은 무엇입니까 :하지만이 예외 다음과 같은 매핑을위한

UnexpectedTypeException: HV000030: No validator could be found for constraint org.hibernate.validator.constraints.Length validating type char[]. Check configuration for ... 

거야?

답변

0

@LengthString과 호환됩니다. 문자 배열의 경우 @Size을 대신 사용하십시오. 올바른 매핑은 다음과 같습니다.

import org.springframework.validation.annotation.Validated; 
import org.springframework.web.bind.annotation.*; 
import javax.validation.constraints.Size; 

@Validated 
@RestController 
@RequestMapping("/profile") 
public class ProfileController { 

    @PostMapping(value = "/savename") 
    public Response saveName(
      @Size(max = 255) 
      @RequestParam(value = "name", required = true) char[] name 
    ) { 
     return ... 
    } 

}