Qm Sabe sobre validation.xml?

galera o meu validation.xml ta meio loko

[code]

<?xml version="1.0" encoding="UTF-8"?> [/code]

e o meu application.properties ta

errors.required.nome=<H3><FONT color="red">Erro de Validacao</FONT></H3> <LI>Nome Requisitado</LI>

errors.required.sobrenome=<H3><FONT color="red">Erro de Validacao</FONT></H3> <LI>Sobrenome Requisitado</LI>

so que o aplication nao pega a requisicao do validation… -.- ele so funciona se eu deixar soh errors.required
mais ai fica zuada a mensgaem de erro pq vai para o nome e sobrenome
e eu queria separado para cada 1

Você está usando Struts1?

struts 2

bom utilizo struts 1, mas não deve ser muito diferente essa parte.

tente assim:


   <?xml version="1.0" encoding="UTF-8"?>  
   <!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN"  
             "http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">  
      
    <form-validation>  
       <formset>  
           <form name="login">  
                <field property="firstName" depends="required">  
                    <arg key="comum.nome"/>  
               </field>  
               <field property="lastName" depends="required">  
                   <arg key="comum.sobrenome"/>  
               </field>  
           </form>         
     </formset>  
  </form-validation>  

e no seu application.properties :


   errors.required=<H3><FONT color="red">Erro de Validacao</FONT></H3> <LI>{0} Requisitado</LI>  
      
   comum.sobrenome=Sobrenome
   comum.nome=Nome

Perceba que no seu validation.xml voce tem a tag , ou seja, um argumento. Quando voce cria uma validação do tipo “required”, se falhar ele vai chamar o seu errors.required do .properties passando o argumento que voce configurou no .xml

se voce precisar de mais argumentos. voce vai usar assim:

properties:

errors.minlength={0} não pode ser menor que {1} caracteres.

validation.xml:

		<form name="loginForm">
			<field property="password" depends="required,minlength">
				<arg0 key="comum.password"/>
				<arg1 name="minlength" key="${var:minlength}" resource="false"/>
       			<var>
       				<var-name>minlength</var-name>
       				<var-value>4</var-value>
       			</var>

			</field>
		</form>

qualquer duvida, posta ae.

abs

hmm… obrigado pela dica e explicacao vou testar

intendi como funciona…
o

  • {0} Requisitado
  • o 0 e como se foc uma variavel que vai receber o dado que tem q passar
    e o arg key é uma chave falando oque ele vai passar para imprimir no erro.required
    é isso?

    isso o {0} vai receber um parametro, uma variável.
    o <arg 0 > é a passagem de parametros, o que voce passar no <arg 0> ele vai preencher o {0}.

    voce pode utilizar isso em uma classe java também, passando os parametros apos a mensagem separados por virgula. exemplo:

    setMensagem(messageResources.getMessage("mensagem.clienteNaoEncontrado", codigoCliente.toString()));