Validação campo a campo com JSF + richfaces (usando onblur )

13 respostas
F

Olá pessoal.
Estou começando a estudar jsf com richfaces e montando um formulário só consigo fazer validações com o submit do botão.
Gostaria de uma forma de validar os campos pelo evento onblur e uma forma que por exemplo, tenho campo A e campo B , sendo o campo A colocado primeiro no formulário e logo depois o B. Caso eu clique no B ele automaticamente valide o A (ai nesse caso tem que ser pelo evento onclick mesmo), mostrando as mensagens de erro ao lado de cada campo.

Na raça eu consigo fazer, mas o código ficaria bem maior do que usar jsf e richfaces, não é? :?

Valeu!

13 Respostas

overkill

Veja esse link

http://livedemo.exadel.com/richfaces-demo/richfaces/ajaxValidator.jsf;jsessionid=A5FEECFA6F6D94D9576EF7E25745A9AD?c=ajaxValidator&tab=usage

nao 'e isso que precisa ???

F

valeu overkill!
eu sempre acesso esse site mas não parei pra procurar a parte de validação.
eu consegui seguir o exemplo que utliza o hibernate validator, mas eu to com um outro problema agora.
Como eu disse, eu estou usando o hibernate validator, mas a mensagem de validação estão vindo em inglês.
Então eu descompactei o jar, removi os arquivos do diretório resources e deixei somente um arquivo lá, o
DefaultValidatorMessages.properties com a linguagem em português. Depois transformei em jar novamente, subi na aplicação e mesmo assim a mensagem está vindo em inglês.
O que será que está acontecedo?
tem que mudar algum outro parâmetro dentro das configuraçoes do jsf ou do próprio hibernate-validator.jar?

valeu!

overkill

teu problema é no JSF mesmo

cria um arquivo properties com esse conteudo

To change this template, choose Tools | Templates

and open the template in the editor.

Sample ResourceBundle properties file

javax.faces.component.UIInput.REQUIRED=Campo obrigatório.
javax.faces.component.UIInput.CONVERSION=O valor informado é Inválido.
javax.faces.component.validator.NOT_IN_RANGE=O valor não está entre {0} e {1}.

faces-config

<application>
<message-bundle><arquivo.properties></message-bundle>
</application>

veja la

F

Valeu cara!
eu removi o jar do hibernate-validator então, já que vou usar as validações do próprio jsf, com internacionalização.
Fiz o que vc descreveu e ficou legal.
Defini um arquivo jsf-validation.proprieties com os valores

javax.faces.component.UIInput.REQUIRED=Campo obrigatório. 
javax.faces.component.UISelectOne.INVALID=O valor não é uma opção válida.   
javax.faces.component.UISelectMany.INVALID=O valor não é uma opção válida.   
javax.faces.component.UIInput.CONVERSION=O valor informado é Inválido. 
javax.faces.component.validator.NOT_IN_RANGE=O valor não está entre {0} e {1}. 
javax.faces.validator.DoubleRangeValidator.MAXIMUM=Valor é superior ao máximo permitido.   
javax.faces.validator.DoubleRangeValidator.MINIMUM=O valor é inferior a mínima permitida.   
javax.faces.validator.DoubleRangeValidator.TYPE=O valor não é do tipo correto.   
javax.faces.validator.LengthValidator.MAXIMUM=Entre com o valor minimo de caracteres.   
javax.faces.validator.LengthValidator.MINIMUM =Valor maximo de caracteres excedido.   
javax.faces.validator.LongRangeValidator.MAXIMUM=Valor é superior ao máximo permitido.   
javax.faces.validator.LongRangeValidator.MINIMUM=O valor é inferior ao mínimo permitido.   
javax.faces.validator.LongRangeValidator.TYPE=O valor não é do tipo correto.

depois no faces-config.xml

<application> <message-bundle>jsf-validation</message-bundle> <locale-config> <default-locale>en</default-locale> </locale-config> </application>

e no meu jsp ta

<h:outputText value="Name:" />
                    <h:inputText value="#{form_bean.form_name}" id="form_name" required="true">
                        <rich:ajaxValidator event="onblur" />
                    </h:inputText>
                    <rich:message for="form_name" />

e validando certinho.
Mas ta dando um erro quando eu preencho o campo e submeto o valor do campo via commanButton

javax.faces.FacesException: java.util.MissingResourceException: Can't find bundle for base name jsf-validation, locale en at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:675) at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:650) at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:681) at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:650) at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:681) at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:650) at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:681) at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:650) at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:681) at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:650) at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:681) at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:650) at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:681) at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:650) at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:681) at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:650) at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:242) at org.ajax4jsf.component.AjaxViewRoot.processValidators(AjaxViewRoot.java:455) at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:100) at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251) at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117) at com.sun.faces.extensions.avatar.lifecycle.PartialTraversalLifecycle.execute(PartialTraversalLifecycle.java:94) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244) at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:317) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198) at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:177) at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:267) at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:380) at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:507) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:288) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577) at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214) at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265) at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106) Caused by: java.util.MissingResourceException: Can't find bundle for base name jsf-validation, locale en at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1521) at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1260) at java.util.ResourceBundle.getBundle(ResourceBundle.java:787) at org.richfaces.validator.BeanValidator.getCurrentResourceBundle(BeanValidator.java:269) at org.richfaces.validator.BeanValidator.createValidator(BeanValidator.java:282) at org.richfaces.validator.BeanValidator.getValidator(BeanValidator.java:249) at org.richfaces.validator.BeanValidator.validateClass(BeanValidator.java:229) at org.richfaces.validator.BeanValidator.validateBean(BeanValidator.java:214) at org.richfaces.validator.BeanValidator.validate(BeanValidator.java:163) at org.richfaces.validator.BeanValidator$ValidationResolver.setValue(BeanValidator.java:395) at com.sun.el.parser.AstValue.setValue(AstValue.java:167) at com.sun.el.ValueExpressionImpl.setValue(ValueExpressionImpl.java:273) at org.richfaces.validator.BeanValidator.validate(BeanValidator.java:119) at org.richfaces.validator.FacesBeanValidator.validate(FacesBeanValidator.java:79) at org.richfaces.component.html.HtmlInputText.validateValue(HtmlInputText.java:35) at javax.faces.component.UIInput.validate(UIInput.java:867) at javax.faces.component.UIInput.executeValidate(UIInput.java:1065) at javax.faces.component.UIInput.processValidators(UIInput.java:666) at org.ajax4jsf.component.AjaxViewRoot$3.invokeContextCallback(AjaxViewRoot.java:439) at org.ajax4jsf.component.ContextCallbackWrapper.invokeContextCallback(ContextCallbackWrapper.java:24) at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:672) ... 56 more executePhase(PROCESS_VALIDATIONS 3,com.sun.faces.context.FacesContextImpl@29e505) threw exception javax.faces.FacesException: java.util.MissingResourceException: Can't find bundle for base name jsf-validation, locale en at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:108) at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251) at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117) at com.sun.faces.extensions.avatar.lifecycle.PartialTraversalLifecycle.execute(PartialTraversalLifecycle.java:94) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244) at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:317) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198) at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:177) at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:267) at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:380) at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:507) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:288) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577) at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214) at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265) at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106) Caused by: javax.faces.FacesException: java.util.MissingResourceException: Can't find bundle for base name jsf-validation, locale en at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:675) at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:650) at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:681) at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:650) at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:681) at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:650) at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:681) at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:650) at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:681) at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:650) at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:681) at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:650) at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:681) at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:650) at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:681) at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:650) at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:242) at org.ajax4jsf.component.AjaxViewRoot.processValidators(AjaxViewRoot.java:455) at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:100) ... 38 more

Você sabe dizer o motivo?
estou tentando pesquisar aqui, mas por enquanto não achei nada relacionado entro o resourceBundle e o submit do valor do campo. :?

overkill

mude isso

1. &lt;application&gt;  
   2.         &lt;message-bundle&gt;jsf-validation&lt;/message-bundle&gt;  
   3.         &lt;locale-config&gt;  
   4.             &lt;default-locale&gt;en&lt;/default-locale&gt;  
   5.         &lt;/locale-config&gt;  
   6.     &lt;/application&gt;

para

1. &lt;application&gt;  
   2.         &lt;message-bundle&gt;jsf-validation&lt;/message-bundle&gt;  
   6.     &lt;/application&gt;
F

está difícil, overkill.
Tentei do jeito que você descreveu, mas apareceu o mesmo erro:

java.util.MissingResourceException: Can't find bundle for base name jsf-validation, locale en_US javax.faces.FacesException: java.util.MissingResourceException: Can't find bundle for base name jsf-validation, locale en_US at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:675) at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:650) at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:681) at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:650) at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:681) at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:650) at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:681) at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:650) at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:681) at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:650) at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:681) at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:650) at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:681) at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:650) at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:681) at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:650) at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:242) at org.ajax4jsf.component.AjaxViewRoot.processValidators(AjaxViewRoot.java:455) at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:100) at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251) at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117) at com.sun.faces.extensions.avatar.lifecycle.PartialTraversalLifecycle.execute(PartialTraversalLifecycle.java:94) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244) at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:317) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198) at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:177) at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:267) at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:380) at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:507) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:288) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577) at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214) at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265) at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)

tentei de outras formas também.
Será que é algum parâmetro dentro do form ou do view que eu não estou passando?

overkill

Desculpa cara

nao olhei direito …

aqui é preciso colocar o caminho completo do arquivo
exemplo

<message-bundle>br.com.teste.jsf-validation.properties</message-bundle>

testa ai se é isso qualquer coisa voltamos a proziar

F

No meu caso eu não preciso colocar o package, pois o arquivo jsf-validation.properties está dentro do diretório classes
E nem a extensão do nome do arquivo porque aí da erro duma vez e nem as mensagens customizadas ele pega.

meu arquivo está com o nome jsf-validation.properties.
Eu preciso colocar siglas do locale, tipo “en_US” ou “pt_BR” no nome desse aquivo, para ficar como jsf-validation_ pt_BR.properties, por exemplo?
apesar que eu cheguei a testar assim também, sem muito sucesso. :S

valeu cara!

F

Será que faz diferença o servidor que eu estou rodando a aplicação?
Eu estou tentando pesquisar sobre isso estou usando Sun Application Server 9.1.

valeu!

overkill

aqui esta a parte do meu faces que define isso veja

&lt;application&gt;
        &lt;message-bundle&gt;xxxxx.msg.erro&lt;/message-bundle&gt;
    &lt;/application&gt;
    &lt;application&gt;
        &lt;locale-config&gt;
            &lt;default-locale&gt;pt_BR&lt;/default-locale&gt;
        &lt;/locale-config&gt;
    &lt;/application&gt;
overkill

felipe_azv:

Será que faz diferença o servidor que eu estou rodando a aplicação?
Eu estou tentando pesquisar sobre isso estou usando Sun Application Server 9.1.

valeu!

Também uso o Sun Application …

F

ainda não consegui. Estou pesquisando por aqui mas nada que me ajude ainda. É esquisito ele dar o erro de que não acha o bundle, pois quando eu acesso a página via GET e valido os campos via onblur, a validação funciona normalmente, imprimindo as mensagens personalizadas no arquivo de propriedades. Mas ai quando eu submeto o os valores do form, ai retorna aquela telinha infeliz com o HTTP Status 500 :S.

F

Consegui arrumar essa parada.
Eu tava cometendo um erro e não tinha percebido.
Valeu, overkill.

Criado 3 de outubro de 2008
Ultima resposta 8 de out. de 2008
Respostas 13
Participantes 2