1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Validação no server com @RequestScoped

Galera, estou tentando fazer uma validação no server side, e preciso exibir uma mensagem para o usuário caso o login que ele esteja utilizando seja inválido.

Meu XHTML

<h:form id="dados-usuario">
    <p:panel styleClass="cad-usuario">
        <div class="ui-grid-responsive">
            <div class="ui-grid-row">
                <div class="ui-grid-col-4">
                    <h:outputLabel value="Login:*" for="txtLogin"/>
                </div>

                <div class="ui-grid-col-8">
                    <p:inputText id="txtLogin" required="true" size="25" value="#{usuarioFace.selected.login}" requiredMessage="O login é obrigatório."/>
                </div>
            </div>
        </div>

        <p:commandButton  id="usuarios-adicionar-salvar-button" value="Salvar" ajax="false" action="#{usuarioFace.saveUser}" validateClient="true"/>
    </p:panel>

    <p:tooltip id="tooltip"/>
    <p:message for="txtLogin" display="tooltip"/>
</h:form>

Meu FACE

public String saveUser() {
    if(!usuarioExiste()) {
        this.usuarioSession.SaveUser(getSelected());
        return pageList();
    }

    FacesContext.getCurrentInstance().addMessage("txtLogin", new FacesMessage(FacesMessage.SEVERITY_ERROR, "Este login já está sendo utilizado por outro usuário. Escolha outro.", "aaa"));

    return "./cadastro.faces";
}

Então, eu preciso exibir no meu p:message o a mensagem "Este login já está sendo utilizado por outro usuário. Escolha outro." mas não estou conseguindo...

Estou com muitas dúvidas em como fazer isso, se alguém puder me explicar ficarei agradecido.

Estou usando @RequestScoped.

  • O @ViewScoped não lhe resolve ? Como o primefaces faz bastante uso do ajax o requestScoped pode não funcionar adequadamente.

    msartor   26 de nov de 2014
  • Resolveria, mas estou tendo problemas com ele para pois estou utilizando @Inject para instanciar minha classe Session

    petros   26 de nov de 2014
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags java jsf primefaces ou faça a sua própria pergunta.