2014-04-21 3 views
4

양식의 유효성을 검사 할 때 이상한 동작이 발생합니다.400 최대 절전 모드 @Valid가있는 잘못된 요청

최대 절전 모드 @Valid 주석을 추가하자마자 게시 된 데이터가 유효하지 않으면 Tomcat은 내 요청을 "불량"으로 간주했습니다. 데이터가 유효하다면 걱정할 필요가 없습니다.

내가 사용

  • 톰캣 7.0.52
  • javax의 검증 API를 1.1.0.Final
  • 최대 절전 모드 검사기 5.1.0.Final
  • 봄 4.0.3.RELEASE

현재로서는 간단한 인증을 수행합니다.

public class RemoveCacheElementForm { 

    @NotBlank(message = "Please select a cache name.") 
    private String name; 

    @NotBlank(message = "Please select a cache entry key.") 
    private String key; 

봄 컨트롤러 :

/** 
* Handler to remove one cached elements from the specified cache. 
* 
* @return the view. 
*/ 
@RequestMapping(value = CACHE_REMOVE, method = RequestMethod.POST) 
public String removeCachedElement(ModelMap model, @Valid @ModelAttribute(FORM_NAME) RemoveCacheElementForm form) { 
    model.addAttribute("removeElementResult", CacheUtils.removeCachedElement(form.getName(), form.getKey())); 
    initializeModel(model); 
    return CACHE_ADMIN_PAGE; 
} 

내가 @Valid 주석을 제거

, 너무 걱정.

누구나 아이디어가 있습니까?

도움을 주셔서 감사합니다. :-)

답변

9

@RequestMapping(value = CACHE_REMOVE, method = RequestMethod.POST) 
public String removeCachedElement(ModelMap model, @Valid @ModelAttribute(FORM_NAME) RemoveCacheElementForm form, BindingResult bindingResult) { 
    model.addAttribute("removeElementResult", CacheUtils.removeCachedElement(form.getName(), form.getKey())); 
    initializeModel(model); 
    return CACHE_ADMIN_PAGE; 
} 
+0

대에 코드를 변경해보십시오! 그것은 작동! 누락 된 인수 (및 마지막으로 중요한 인수 ... ;-)) 때문에. 큰 고맙습니다. :-) – Didasko

+0

@Didasko 문제 없습니다! 문제가 너무 많지 않은 경우 답을 받아들이면 (또는 문제를 해결하는 데 도움이되는 다른 하나의 답) 올바른 답으로 사용자가 나중에 댓글을 읽지 않고 올바른지 알게됩니다. – geoand

+0

답변을 수락 할 수있는 승인을 기다리고 있습니다. ;-) 아직도 2 분 ... – Didasko