0

這是我的控制器HTTP狀態400由客戶端發送的請求是語法不正確

@RequestMapping("/offercreated") 

public String offerCreated(@Valid Offer offer, Model model, BindingResult result) { 

if (result.hasErrors()) { 

return "createoffer"; 

} else { 

System.out.println("form validated"); 

return "offercreated"; 

} 

和我的豆是

@Size(min = 5, max = 45) 
    private String name; 

的形式被驗證時,我得到5之間的名45個字符。但是當表單沒有被驗證時,我得到了400條狀態錯誤報告。我不知道爲什麼我得到錯誤。這裏需要幫助

+0

您的要求如何?您的方法調用中包含 - @有效優惠 - 這意味着Spring將首先驗證優惠。 – reos

+1

'BindingResult'應該在它所關注的論點之後直接出現。切換'Model'和'BindingResult'參數,你的'Offer'應該用'@ ModelAttribute'註解。 –

回答

0

哇,當我改變控制器參數模型,然後提供其工作!

@RequestMapping( 「/ offercreated」)

公共字符串offerCreated(型號模型,@Valid發售的發售,BindingResult結果){

如果(result.hasErrors()){

回報「createoffer」;

}否則{

的System.out.println( 「形式驗證」);

return「offercreated」;

}

有人可以解釋這是爲什麼嗎?我感到很困惑 !

相關問題