JSF - Preciso deixar validações de formulário em português

3 respostas
D

Olá caros membros.

Este é meu primeiro tópico em JSF onde já tenho uma aplicação em mente.

Me saí até bem, a aplicação é validada e tudo.

Só que as validações automáticas de campos vazios estão em inglês e são muitas palavras.
Eu gostaria de na minha classe Java criar variáveis com um conteúdo pra essas validações.
Vou postar meu código pra vocês terem uma noção do que quero fazer:

package admin;
import java.sql.*;

public class JdbcBean {
public JdbcBean(){}

String username;
String password;
String urldestino; 

boolean error; 

public String getUsername() {
     return username;
}
public void setUsername(String username) {
     this.username = username;
}

public String getPassword() {
     return password;
}
public void setPassword(String password) {
     this.password = password;
}

public String getDestino() {
    return urldestino;
}
public void setDestino(String destino) {
    this.urldestino = destino;
}
    
public boolean isError() {
     return error;
}
public void setError(boolean error) {
     this.error = error;
}


public String checkUserInDatabase(){
       String returnString = "failure";

      Connection con = null;
      Statement st = null;
      try{
           Class.forName("com.mysql.jdbc.Driver");
           con = DriverManager.getConnection("jdbc:mysql://localhost:3306/database","user","pwd");
           st = con.createStatement();
           ResultSet rs = st.executeQuery("select * from loguser");

           while(rs.next()){ 
                 if(username.equals(rs.getString("login")) && password.equals(rs.getString("pwd"))){
                         returnString = "success"; // ok, está logado
                         urldestino = true; // será a url de redirecionamento de página
                         break;
                 }
          }
          if(returnString.equals("failure")){
               error = true;  // variável de erro é ativada e mostra valor na tela
          }
      }
      catch(Exception ex){
           ex.printStackTrace();
      }
      return returnString;
  }
}
Agora a página JSP ou JSF como preferirem:
<jstl:redirect url="${JdbcBean.destino}"/>
<f:view>
    <h:form id="userForm" styleClass="body">
        <center>
            <br>
        <h:outputText value="Login inválido!" rendered="#{JdbcBean.error}" 
                style="color:red;"/> // queria fazer tipo aqui, onde mostra uma excessão configurável
        
        <h:panelGrid columns="3" style="font-weight:bold;">
            <h4><h:outputText value="Autenticação necessária"/></h4>
        
            <h:outputText value="Username: "/>
            <h:inputText id="name" required="true" 
                    value="#{JdbcBean.username}" /> // queria fazer isso aqui
            <h:message for="name" style="color:red;"/>

            <h:outputText value="Password: "/>
            <h:inputSecret id="pwd" required="true" value="#{JdbcBean.password}" />  // e aqui
            <h:message for="pwd" style="color:red;"/>
            
            <h:outputText value=""/>
            <h:commandButton id="submit" value="ok"  
                   action="#{JdbcBean.checkUserInDatabase}"/>
        </h:panelGrid>
        <br><br>
        <h:commandButton value="fechar" onclick="window.close();"/>
    </center>
    </h:form>
</f:view>

Mal vejo a hora de estar publicando aqui o que estou aprendendo!
Sou muito grato!
[]s

3 Respostas

mateusprado

Ola !

Vc pode implementar isso de 2 formas:

  • No componente <h:inputText adicionar a propriedade requiredMessage=“sua String/ou#{seuBean.message}”
  • Ou usar o arquivo do tipo .properties

message.properties(no src de seu projeto)

javax.faces.component.UIInput.REQUIRED= * Campo Obrigatorio
javax.faces.validator.LengthValidator.MINIMUM= No minimo {0} caracteres.
javax.faces.validator.LengthValidator.MAXIMUM= No maximo {0} caracteres.

[ ]s,

D

mateusprado:
Ola !

Vc pode implementar isso de 2 formas:

  • No componente <h:inputText adicionar a propriedade requiredMessage=“sua String/ou#{seuBean.message}”
  • Ou usar o arquivo do tipo .properties

message.properties(no src de seu projeto)

javax.faces.component.UIInput.REQUIRED= * Campo Obrigatorio
javax.faces.validator.LengthValidator.MINIMUM= No minimo {0} caracteres.
javax.faces.validator.LengthValidator.MAXIMUM= No maximo {0} caracteres.

[ ]s,

Oi, tudo bem?

Eu não conhecia o requiredMessage, mas deve dar certo, indicando na Bean .
Obrigado.

Mas utilizando o arquivo properties eu não entendi, pode me esclarecer isso melhor?

Vlw pela ajuda.

D

Olá a todos.

Venho aqui informar que já estou um pouco hábil em JSF e que já sei lhe dar com arquivos properties.

O mateusprado citou uma dica importante, usando um arquivo properties pra criar uma validação padrão.

Sou grato pela ajuda!

Atenciosamente.

Criado 27 de fevereiro de 2009
Ultima resposta 29 de mar. de 2009
Respostas 3
Participantes 2