2017-11-07 23 views
0

View to sendの検証エラーをキャプチャする必要があります。 私はそのようにいくつかのチュートリアルを追っ: 私のメソッドビーン検証で:投稿メソッドのスプリングmvcのエラー

@RequestMapping(value = "/novo", method = RequestMethod.POST) 
    public ModelAndView salvar(@Valid Cliente cliente, BindingResult result 
     , RedirectAttributes attributes) { 
    if (result.hasErrors()) { 
     return novo(cliente); 
    } 

    ModelAndView mv = new ModelAndView("redirect:/clientes/novo"); 
    attributes.addFlashAttribute("mensagem", "Cliente salvo com sucesso."); 
    return mv; 
} 

私のクラスCliente:

public class Cliente implements EntityModal<Long> { 

private Long id; 

@NotBlank(message = "Nome é obrigatório") 
private String nome; 

@CPF(message = "CPF inválido") 
private String cpf; 

@NotNull(message = "Informe o sexo") 
private Sexo sexo; 

@NotNull(message = "Idade é obrigatória") 
@Min(value = 18, message = "Idade deve ser maior ou igual que 18") 
private Integer idade; 

@Size(max = 50, message = "A observação não pode ter mais que 50 caracteres") 
private String observacao; 
//get and setters... 
} 

エラー:

An Errors/BindingResult argument is expected to be declared immediately 
after the model attribute, the @RequestBody or the @RequestPart arguments to 
which they apply: public org.springframework.web.servlet.ModelAndView 

答えて

0

は、あなたのモデルオブジェクトに@ModelAttributeを追加します。

@RequestMapping(value = "/novo", method = RequestMethod.POST) 
public ModelAndView salvar(@Valid @ModelAttribute("cliente") Cliente cliente, BindingResult result 
     , RedirectAttributes attributes) { 

} 
+0

属性モデルを配置する必要があるため、私が見たチュートリアルにはこれがありませんでした – joeyanthon