Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Dúvida no Ex. 3 da Aula 8 - Criando uma autenticação de usuários

Olá, Minha dúvida é na mensagem de erro que aparece no navegador quando eu coloco um usuário não cadastrado.A msg é esta: login - ???login.invalido???

Segue o meu código da classe LoginController: package br.com.caelum.vraptor.controller;

import javax.inject.Inject;

import br.com.caelum.vraptor.Controller; import br.com.caelum.vraptor.Get; import br.com.caelum.vraptor.Result; import br.com.caelum.vraptor.dao.UsuarioDao; import br.com.caelum.vraptor.model.Usuario; import br.com.caelum.vraptor.validator.I18nMessage; import br.com.caelum.vraptor.validator.Validator;

@Controller public class LoginController { private final UsuarioDao dao; private final Validator validator; private final Result result; private final UsuarioLogado usuarioLogado;

@Get public void formulario() {

} @Inject public LoginController(UsuarioDao dao, Validator validator, Result result,UsuarioLogado usuarioLogado) { this.dao = dao; this.validator = validator; this.result = result; this.usuarioLogado = usuarioLogado; }

@Deprecated public LoginController() { this(null,null,null,null); }

public void autentica(Usuario usuario) { if(!dao.existe(usuario)){ validator.add(new I18nMessage("login", "login.invalido")); validator.onErrorUsePageOf(this).formulario(); } usuarioLogado.setUsuario(usuario); result.redirectTo(ProdutoController.class).lista(); }

}

Segue o formúlário.jsp :

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

Faça login para acessar o VRaptor-Produtos

${error.category} - ${error.message}

E o meu ValidationMessages.properties:

quantidade.negativa=A quantidade não pode ser negativa. valor.negativo=O preço não pode ser menor ou igual a 0. nome.nulo=O nome não pode estar vazio. login.invalido=Nome ou senha inválido.

3 respostas

Pelo que eu entendi a mensagem esta aparecendo "login.invalido" e você queria que aparecesse outra mensagem certo ?

Se for isso basta você criar o arquivo "messages.properties" dentro de resources(src/main/resouces), dentro dele você coloca:

login.invalido = sua mensagem

Pois a I18nMessage vai sempre procurar as mensagens dentro do arquivo "messages.properties".

Era isso ?

solução!

Era isso Matheus, obrigado!

De nada Thaís, sempre que tiver duvidas não deixe de cria-las.