2016-09-10 4 views
0

上記のコードで 'defaultpagination'変数を認識する際に問題があります。これは、ユーザーインターフェイス上の 'Required String parameter' defaultpagination 'not not'メッセージをスローし続けます。これは、構成可能な設定を示す編集画面の一部です。入力/テキストエリア - 必要な文字列パラメータが存在しません

コントローラの方法は以下のとおりです。

@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が認識されます)私はtextareaタグに「入力」タグを変更することができ、すべてが通常のように働くだろうということです。しかし、私は検証のために入力を使いたいです。この場合、入力は数字である必要があります。同様のケースでは、私は電話番号と電子メールが必要になります。誰かがthymeleafのinput/textareaタグに関するこの同じ問題に直面しましたか? (あなたがdefaultpaginationとして整数のみが予想される場合)

答えて

0

一つの解決策は、整数に、コントローラで文字列defaultPaginationを変更することであろう

すなわち別の解決策は、入力のpattern属性を使用することです

@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-フォームから「データ」を削除し、これが何か変更された場合はお知らせください –

関連する問題