I'm trying to validate some fields with annotations, but I can not bring the messages to the jsp page:
User.java
mport java.util.Calendar;
import javax.validation.constraints.Email;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
public class Usuario {
private String nome;
private String sobrenome;
private String cpf;
private String identidade;
@NotNull(message="{usuario.email.nulo}")
@Email(message="{usuario.email.invalido}")
private String email;
@NotNull(message = "{usuario.senha.nula}")
@Size(min = 6, message="{usuario.senha.pequena}")
private String senha;
private Endereco endereco;
private Calendar dataNascimento;
It has a Client Extending Client class:
And has ClientController.java
package br.com.wlsnprogramming.loja.controller;
import javax.servlet.http.HttpSession;
import javax.validation.Valid;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.RequestMapping;
import br.com.wlsnprogramming.loja.model.usuario.Cliente;
@Controller
@RequestMapping("cliente")
public class ClienteController {
@RequestMapping("login")
public String formLogin() {
return "cliente/login";
}
@RequestMapping("efetuarLogin")
public String efetuarLogin(@Valid Cliente cliente, BindingResult result, HttpSession session) {
if(result.hasFieldErrors("email") || result.hasFieldErrors("senha")) {
System.out.println(result.getFieldError("senha").getDefaultMessage());//Aqui em fiz o teste para ver se recuperava a mensagem, ate aqui deu certo
return "redirect:login";
}
//faz a verificação aqui
return "redirect:meusPedidos";
}
}
login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %>
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="utf-8"/>
<title>Inicio</title>
<link rel="stylesheet" href="../resources/styles/login.css" type="text/css"/>
<link rel="stylesheet" href="../resources/styles/style.css" type="text/css"/>
</head>
<body>
<c:import url="../header.jsp"/>
<div id="conteudo">
<div id="centro-login">
<h1>Entrar na Conta</h1>
<p>Ainda não tem uma conta? <a href="#">Crie já!</a></p>
<form id="login" method="post" action="efetuarLogin">
<label for="email">E-mail:</label>
<input type="email" name="email" id="email" required="true" />
<label for="senha">Senha:</label>
<input type="password" name="senha" id="senha" required="true" />
<!--É AQUI QUE EU TENTO RECUPERAR A MENSAGEM DE ERRO, MAS NÃO CONSIGO, NÃO ENTEDI MUITO BEM O QUE VAI NO ATRIBUTO path -->
<p><form:errors path="cliente.senha" cssStyle="color:red"/></p>
<!--************************************************-->
<input type="submit" value="Entrar"/>
<p>Esqueceu a sua senha? Estão recupere <a href="#">clicando aqui!</a></p>
</form>
</div>
</div>
<script type="text/javascript">
var menuAberto = false;
function abrirMenu(){
if(!menuAberto){
document.getElementById("menu-escondido").style.display = "block";
menuAberto = true;
} else {
document.getElementById("menu-escondido").style.display = "none";
menuAberto = false;
}
}
</script>
<c:import url="../fooder.jsp"/>
</body>
</html>
I have tried to put everything in the path, but it does not work.