Formatar campos numericos no struts 2

11 respostas
C

Alguem sabe como colocar uma mascara em um textfield para ele aceitar apenas numeros, no struts 2?

Obrigada!

11 Respostas

E

Também uso o textfield do struts 2 e não encontrei nas tag reference nada sobre formatação.

http://struts.apache.org/2.x/docs/textfield.html

uso javascript onde preciso.

seria ótimo se tivesse algo como o mentawai

http://www.mentaframework.org/inputMask.jsp

de uma olhada como funciona.

C

Nao tenho experiencia com javascript, voce nao poderia me falar como seria uma funcao em javascript para colocar essa mascara?

E

isso depende muito do que ve quer, se for um campo para digitar telefone por exemplo, vc pode colocal algo assim na jsp

try { 
   	 DefineMask( document.forms[0].elements['nomedocampo'], "(##) ####-####");
    } catch (e) {  	    
    }

vc pode também fazer a verificação no momento em que o campo está sendo usado.

esta é apenas uma forma de se fazer. existem milhares e melhores, dependendo do que vc precisa

<s:textfield key="nome" onkeypress="return soNumeros()" />


function soNumeros () {

       var key = e.keyCode; // IE
        if (key == 0 ) key = e.which; //Firefox
      
        if( key == 46 || ( key > 47 & key <= 57 )){
                return true;
           }else {                
                return false;
           }         

}
C

Isso nao deu certo, eu quero um mascara para valor monetario:

olha com ficou o meu .jsp que nao funciona:

<s:textfield key="componente.LimiteCompra.limiteCredito.faixaDe" name="faixaDe" onkeypress="return soNumeros()" />

	<script type="text/javascript">	
	 try {
		DefineMask( document.forms[0].elements['faixaDe'], "###.###,##");
			} catch (e) {
		 } 
	</script>

Sabe qual o problema?

Desde ja, muitoo obrigada!

E

bom, basicamente então vc só precisa usar o mask

coloca assim :

<s:textfield key="componente.LimiteCompra.limiteCredito.faixaDe" name="faixaDe"  /> 

<script type="text/javascript">
try {
DefineMask( document.forms[0].elements['faixaDe'], "###.###,##");
} catch (e) {
}


</script>

desta forma funciona.

C

Nao funcionou!

Coloquei igualzinho voce falou:

<s:textfield key=“componente.LimiteCompra.limiteCredito.faixaDe” name=“faixaDe” />

<script type="text/javascript">  
	 try {  
		DefineMask( document.forms[0].elements['faixaDe'], "###.###,##");  
		} catch (e) {  
          }     
    </script>

Voce sabe alguma outra maneira, ou algum motivo de nao ter funcionado?

W

Alguem sabe como colocar uma mascara em um textfield para ele aceitar apenas numeros, no struts 2?
È incrivel mais o tempo passa e eles ainda não conseguiram criar a tag inputMask.

H

edilson_x tu falou que (Formatar campos numericos no struts 2) entre Mask é FORMATAR é uma grande diferença, por o Mask tu tem duas soluçôes :
-Usar o método de edilson_x e perfeito para você
-WilliamSilva falou que :

È incrivel mais o tempo passa e eles ainda não conseguiram criar a tag inputMask.
mas tu pode usar validator framework o trabalho fica muito limpo.
e se você quer FORMATAR um campo tu pode usar uma taglib (Format taglib ver. 1.4) http://www.servletsuite.com/servlets/formattag.htm ou você pode até personalizar sua própria taglib.

keep learning

H

mais informações, voila um Masked input taglib ver. 1.2 http://www.servletsuite.com/servlets/formattag.htm

W

mas tu pode usar validator framework o trabalho fica muito limpo.
e se você quer FORMATAR um campo tu pode usar uma taglib (Format taglib ver. 1.4) http://www.servletsuite.com/servlets/formattag.htm ou você pode até personalizar sua própria taglib.
Legal isso eu sei, mais o que o disse foi que :
È incrivel mais o tempo passa e eles ainda não conseguiram criar a tag inputMask.
Alias em um projeto qual a vantagem de vc. ficar entupindo a sua aplicação de libs = Ajax, JavaScript ,e outros Jars. para resolver uma simples formatação de mascara num textfield que o teu framework não suporta. Qual a praticidade disso.???
sds.

H

Alias em um projeto qual a vantagem de vc. ficar entupindo a sua aplicação de libs = Ajax, JavaScript ,e outros Jars. para resolver uma simples formatação de mascara num textfield que o teu framework não suporta. Qual a praticidade disso.???
sds.

concordo com você William, mas o framework ou IDE é um anel que não cabe nos dedos de tudo mundo, por isso tem as ferramentas de personalizar e criar suas próprias taglib e usa-la para semprer (Ajustando o anel ) :roll:
nunca fique nas mãos das empresas que oferecem os frameworks, tem que ser flexível para personalizar o seu.

um abraço Willian

Criado 13 de junho de 2008
Ultima resposta 13 de jun. de 2008
Respostas 11
Participantes 4