2016-09-10 2 views
0

위의 코드에서 'defaultpagination'변수를 인식하는 데 문제가 있습니다. 사용자 인터페이스에 'Required String parameter'defaultpagination 'not is'메시지가 계속해서 나옵니다. 이것은 구성 가능한 설정을 보여주는 편집 화면의 일부입니다.입력/텍스트 영역 - 필수 문자열 매개 변수가 없습니다.

컨트롤러 방법은 다음과 같습니다.

@RequestMapping(value = "/update", method = RequestMethod.POST) 
public ModelAndView updateSetting(
     @RequestParam("defaultpagination") String defaultPagination, 
     @RequestParam("id") long id) { 

     Setting setting = settingService.getOne(id); 
     setting.setDefaultPagination(Integer.parseInt(defaultPagination)); 
     settingService.saveSetting(setting); 
     return new ModelAndView("redirect:/settings/setting-listing"); 
} 

아래에서 thymleaf html을 볼 수 있습니다. 흥미로운 무엇

<form role="form" data-toggle="validator" name="createSetting" enctype="multipart/form-data" method="post" th:object="${setting}" action="/settings/update"> 
       <div class="form-group"> 
        <label for="defaultpagination">Default Pagination</label> 
        <input class="form-control" name="defaultpagination" type="number" th:field="${setting.defaultPagination}" placeholder="Enter default pagination" required="required" data-error="Pagination is required (maximum cannot exceed 100)" /> 
        <div class="help-block with-errors"></div> 
       </div> 
       <input type="hidden" th:rows="1" class="form-control" id="id" name="id" th:value="${setting.id}"/> 
       <br /> 
       <button type="submit" class="btn btn-default">Submit Button</button> 
       <br /> 
       <br /> 
       <br /> 
       </form> 

합니다 (defaultpagination 인식됩니다) 나는 텍스트 영역 태그에 '입력'태그를 변경하고 모든 것이 정상적으로 작동 할 것입니다. 그러나 유효성 검사를 위해 입력을 사용하고 싶습니다. 이 경우 입력은 숫자 여야합니다. 비슷한 경우 전화 번호와 이메일이 필요합니다. 누구도 thymeleaf의 input/textarea 태그와 관련하여 이와 동일한 문제에 직면 해 있습니까? (당신이 defaultpagination로만 정수 예상되는 경우)

답변

0

하나 개의 솔루션은 정수로 컨트롤러에 문자열 defaultPagination을 변경하는 것

즉 또 다른 해결책은 입력의 패턴 속성을 사용하는 것입니다

@RequestMapping(value = "/update", method = RequestMethod.POST) 
public ModelAndView updateSetting(
     @RequestParam("defaultpagination") Integer defaultPagination, 
     @RequestParam("id") long id) { 

이 당신

를 위해 일 경우 태그 (허가 숫자 만 소수하지 점)

<input class="form-control" name="defaultpagination" type="text" 
pattern="\d+" th:field="${setting.defaultPagination}" placeholder="Enter default 
pagination" required="required" data-error="Pagination is required (maximum cannot exceed 100)" /> 

은 알려주세요

+0

불행히도 이들 중 어느 것도 작동하지 않았습니다. 나는 동일한 메시지를 얻지 만,이 경우 정수 'defaultpaginatinon'이 존재하지 않는다고 말합니다. – Albert

+0

@Albert 파일을 업로드 할 필요가없는 한, "enctype ="multipart/form- 데이터 "를 양식에서 확인하고 변경 사항이 있으면 알려주세요. –

관련 문제