2016-11-17 2 views
0

フォームからサーバーにデータを送信するためのWebプロジェクトIトレイです(Spring部分)。 Ajaxを使って複数のリクエストをサーバーに送信します。ユーザーが空のフォームフィールドを残してしまうと問題が発生します。すべてのフォーム入力完了要求がうまく動作すれば私はいくつかの記事を見つけるが、これは私の場合ではなく、マルチパートリクエストでは機能しない。プロジェクトでは、@ Valid @NotNullのようなanotetionをサーバー側の有効性をチェックするために使用しません。 Springはエラーを表示せず、Firebugはネットワークエラー400の不正な要求のみを表示します。コードで何がうまくいかない。マルチパートリクエストの空のフォームフィールドの有効性をチェックする最良の方法は何ですか。特に指定しない限り、デフォルトのparamsことで空のフォームフィールドをSpringコントローラに送信する

Ajaxコード

function casePostUpload() 
    { 
var myForm = form.find('formAddPoster'); 
    myData = new FormData(); 
    myData.append('multipart', myForm); 


enter code her$ 
      .ajax({ 

       url : "/video/addCasePost", 
       //url: urlFromActionFild, 
       data : myForm, 
      // data : myData, 
       type : 'POST', 
       headers: {'Content-Type': undefined}, 
       enctype: 'multipart/form-data', 
       processData: false, 
       contentType:false, 
       success : function(data, textStatus, jqXHR){ 


        $('#casePost').prepend('<br/>Poster: '+data.casePoster+' :: title '+data.caseTitle+' at '+data.timestampAsStr+'<br/></td></tr>'); 


      }, 
       error : function(result){ 
        //...; 

       alert('add contnt error: ' + errorThrown); 
       } 
      }); 
    } 

Spring MVCのコントローラ

@RequestMapping(value = "/video/addCasePost", method = RequestMethod.POST) 
public @ResponseBody CasePost addcasepost(@RequestPart("caseTitle") String caseTitleString, 
    @RequestPart("file") MultipartFile file, HttpServletRequest request, Model model, @ModelAttribute("currentuser") User currentuser) throws Exception { 
    CasePost jsResponse = new CasePost(); 



      }catch (Exception e) { 
       log.error(e); 
      } 

    } 

    try { 
     if (caseTitleString != null) { 
      jsResponse.setCaseTitle(caseTitleString); 
      jsResponse.setCasePoster(filePath); 
jsResponse = graphStoryInterface.getCasePostInterface().add(jsResponse, currentuser); 

     } 
    } 
    catch (Exception e) { 
     log.error(e); 
    } 

return jsResponse; 


} 

答えて

0

は春で必要とされています。 @RequestPartを設定する(必須= false、値= "aFieldName")

+0

paramsは正常に動作します。それを受け入れる – abmerday

+0

答えを受け入れる場合は、自分で受け入れる必要があります:) –

+0

Imトレイだが、低レベルの評判がそれを妨げる。ご回答ありがとうございます。 – abmerday

関連する問題