Estou tendo problemas ao validar os campos do formulário. As mensagens de erro não aparecem na tela de login.
<h3>Login</h3>
<br>
<c:if test="${not empty texto}">
<fmt:message key="${texto}" />
<c:set var="texto" value="" />
</c:if>
<br>
<form action="${linkTo[LoginController].logar}" method="post">
<fmt:message key="label.email" />:<br />
<input type="text" name="login.email" class="input" size="20" tabindex="10" value="${login.email}" />
<br>
<fmt:message key="label.senha" />:<br />
<input type="password" name="login.senha" class="input" size="20" tabindex="20" />
<br>
<input type="submit" value="<fmt:message key='botao.logar' />" tabindex="100" />
</form>
LoginController
.....
@Get("/")
public void login() {
}
@Post("/logar")
public void logar(final Login login) {
validator.checking(new Validations(localization.getBundle()) { {
that(login.getEmail() == null, "texto", "erro.email_vazio");
that(login.getSenha() == null, "texto", "erro.senha_vazia");
} });
validator.onErrorUsePageOf(LoginController.class).login();
result.of(InicioController.class).inicio();
}
Por que é necessário marcar o parâmetro do método logar como final? Quando tiro o final ele dá um erro no eclipse.