2017-11-13 3 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

@Lengthは、Stringでのみ動作します。文字配列では代わりに@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 ... 
    } 

} 
関連する問題