alguem saberia me dizer como fasso um componete para validar campos float estilo aqueles utilizados em caixa eletronico onde aparece na tela o seguinte: “0,00” e ao preenchimento do usuario, os caracteres vao andando para a esquerda.
Isso não é validação - é entrada de dados. Como de costume, você deseja isso para ambiente Web ou Desktop?
D
Drizzt
tanto faz… talvez desktop fosse melhor, pois na verdade estou usando gwt e sua programação eh pra web, mas a forma de programar eh identica a swing por exemplo.
T
thingol
Então você precisa é de um Javascript específico para esse tipo de entrada de dados.
kaabah
é web… javascript…
Codigo em javascript com certeza tem aos montes por aí!
Se for Desktop um listener no campo esperando o digito do usuario e uma mascara acho que resolviam seu problema! :idea:
Ironlynx
Então você precisa é de um Javascript específico para esse tipo de entrada de dados.
Aliás, um exemplinho:
<scriptLANGUAGE="JavaScript">functionFormataReais(fld,milSep,decSep,e){varsep=0;varkey='';vari=j=0;varlen=len2=0;varstrCheck='[telefoneremovido]';varaux=aux2='';varwhichCode=(window.Event)?e.which:e.keyCode;if(whichCode==13)returntrue;key=String.fromCharCode(whichCode);// Valor para o código da Chave if(strCheck.indexOf(key)==-1)returnfalse;// Chave inválida len=fld.value.length;for(i=0;i<len;i++)if((fld.value.charAt(i)!='0')&&(fld.value.charAt(i)!=decSep))break;aux='';for(;i<len;i++)if(strCheck.indexOf(fld.value.charAt(i))!=-1)aux+=fld.value.charAt(i);aux+=key;len=aux.length;if(len==0)fld.value='';if(len==1)fld.value='0'+decSep+'0'+aux;if(len==2)fld.value='0'+decSep+aux;if(len>2){aux2='';for(j=0,i=len-3;i>=0;i--){if(j==3){aux2+=milSep;j=0;}aux2+=aux.charAt(i);j++;}fld.value='';len2=aux2.length;for(i=len2-1;i>=0;i--)fld.value+=aux2.charAt(i);fld.value+=decSep+aux.substr(len-2,len);}returnfalse;}</script>
Para usar vc faz algo do tipo:
<form>
Valor R$:
<input type=text name=valor length=15 onKeyPress="return(FormataReais(this,'.',',',event))">
//outros campos...
</form>