none
preenchimento do formulario RRS feed

  • Pergunta

  • Olá amigos,

    Eu possuo um formulário com 20 itens com preenchimento. Estes campos são valores em reais e precisam ser preenchidos de acordo com uma mascara. 
    Eu defini a mascara "moeda" para todos os campos. Porém, nos testes percebi que se for preenchido o campo com 'R$13,,34' , o campo não reconhece como erro. Eu precisava impedir este preenchimento com 2 virgulas. Alguém conhece alguma validação para conferir todos os campos.

    Obrigado.
     
    Eduardo - Asp.Net - Web developer - SQL
    quinta-feira, 19 de fevereiro de 2009 12:55

Respostas

  • Olá Eduardo,

    Use um validator assim:

    <asp:TextBox ID="txtValorParcela" runat="server" MaxLength="10"></asp:TextBox> 
    <asp:RegularExpressionValidator ID="vldValorParcela" runat="server" ControlToValidate="txtValorParcela" 
    Display="Dynamic" ErrorMessage="O formato do Valor da Parcela está incorreto" 
    ValidationExpression="^[0-9]{1,3}(\.[0-9]{3})*(,[0-9]{2})?$|^[0-9]+(,[0-9]{2})?$"></asp:RegularExpressionValidator> 



    Espero que ajude.
    • Marcado como Resposta EduMarques quinta-feira, 19 de fevereiro de 2009 17:14
    quinta-feira, 19 de fevereiro de 2009 16:07
  • Olá,

    Esta expressão não coloca automaticamente nem ponto nem vírgula. Ela apenas verifica se o usuário informou o formato correto.

    Para usar uma máscara no campo e "inserir automaticamente" ponto e vígula, vc pode usar o MaskedEditExtender do Ajax, é bem simples.
    • Marcado como Resposta EduMarques quinta-feira, 19 de fevereiro de 2009 17:14
    • Não Marcado como Resposta EduMarques quinta-feira, 19 de fevereiro de 2009 17:15
    • Marcado como Resposta EduMarques quinta-feira, 19 de fevereiro de 2009 17:15
    quinta-feira, 19 de fevereiro de 2009 17:08

Todas as Respostas

  • bom vc pode usar um javascript p/ permitir somente numero no campo

    desconheço uma forma de fazer com o C#

    tsunamy

    Nunca serei o dono da verdade!!!
    quinta-feira, 19 de fevereiro de 2009 14:31
  • Mais eu Gostaria de liberar as  virgulas pois são campos de valores reais (R$).


    Eduardo - Asp.Net - Web developer - SQL
    quinta-feira, 19 de fevereiro de 2009 14:54
  • Olá Eduardo,

    Use um validator assim:

    <asp:TextBox ID="txtValorParcela" runat="server" MaxLength="10"></asp:TextBox> 
    <asp:RegularExpressionValidator ID="vldValorParcela" runat="server" ControlToValidate="txtValorParcela" 
    Display="Dynamic" ErrorMessage="O formato do Valor da Parcela está incorreto" 
    ValidationExpression="^[0-9]{1,3}(\.[0-9]{3})*(,[0-9]{2})?$|^[0-9]+(,[0-9]{2})?$"></asp:RegularExpressionValidator> 



    Espero que ajude.
    • Marcado como Resposta EduMarques quinta-feira, 19 de fevereiro de 2009 17:14
    quinta-feira, 19 de fevereiro de 2009 16:07
  • Olá,

    essa expressão vai liberar qual tipo de preenchimento ??

    ela vai verificar se possui 2 virgulas seguidas ?

    obrigado.
    Eduardo - Asp.Net - Web developer - SQL
    quinta-feira, 19 de fevereiro de 2009 16:36
  • Olá,

    Esta expressão casa com os formatos 1000,00 e 1.000,00. Portanto impede a inserção de 2 vírgulas.

    quinta-feira, 19 de fevereiro de 2009 16:59
  • Olá,

    essa expressão vai colocar automaticamente o ponto e a virgula ou vai fazer com que o usuario digite somente 1 virgula ou 1 ponto no campo ??

    obrigado.


    Eduardo - Asp.Net - Web developer - SQL
    • Marcado como Resposta EduMarques quinta-feira, 19 de fevereiro de 2009 17:14
    • Não Marcado como Resposta EduMarques quinta-feira, 19 de fevereiro de 2009 17:14
    quinta-feira, 19 de fevereiro de 2009 17:03
  • Olá,

    Esta expressão não coloca automaticamente nem ponto nem vírgula. Ela apenas verifica se o usuário informou o formato correto.

    Para usar uma máscara no campo e "inserir automaticamente" ponto e vígula, vc pode usar o MaskedEditExtender do Ajax, é bem simples.
    • Marcado como Resposta EduMarques quinta-feira, 19 de fevereiro de 2009 17:14
    • Não Marcado como Resposta EduMarques quinta-feira, 19 de fevereiro de 2009 17:15
    • Marcado como Resposta EduMarques quinta-feira, 19 de fevereiro de 2009 17:15
    quinta-feira, 19 de fevereiro de 2009 17:08
  • obrigado.

    Eduardo - Asp.Net - Web developer - SQL
    quinta-feira, 19 de fevereiro de 2009 17:09
  •  Amigo,

    deu certo aqui a sua expressão .  porem eu coloquei para aparecer  automaticamente os simbolos "R$" no textbox.

    com essa expressão o campo não é validado. tem como eu colocar  essa expressão sem contar o "R$" que eu coloquei.

    obrigado
    Eduardo - Asp.Net - Web developer - SQL
    quinta-feira, 19 de fevereiro de 2009 17:23
  • Olá,

    Testa essa:

    ^R\$[0-9]{1,3}(\.[0-9]{3})*(,[0-9]{2})?$|^R\$[0-9]+(,[0-9]{2})?$

    • Sugerido como Resposta _Vivi_ quinta-feira, 19 de fevereiro de 2009 19:37
    quinta-feira, 19 de fevereiro de 2009 17:34
  • não deu certo ..
    Será que existe algum comando especifico ?

    ou então sera que na expressão mesmo tem como excluir o R$ ?

    esta expressão está acrescentando mais um R$

    estranho tbm que a outra expressão tbm não está funcionando mais .

    obrigado
    Eduardo - Asp.Net - Web developer - SQL
    quinta-feira, 19 de fevereiro de 2009 17:39
  • Olá,

    Testei aqui e esta expressão ^R\$[0-9]{1,3}(\.[0-9]{3})*(,[0-9]{2})?$|^R\$[0-9]+(,[0-9]{2})?$
     funciona com os formatos: R$1000,00 e R$1.000,00.

    Ela não acrescenta o R$, apenas verifica se o mesmo foi informado e só valida se contiver R$.

    Verifique se este R$ a mais que vc diz que foi incluído não está relacionado à máscara do campo.

    Uma outra alteranativa seria deixar o R$ fora do texbox.
    • Sugerido como Resposta _Vivi_ quinta-feira, 19 de fevereiro de 2009 19:37
    quinta-feira, 19 de fevereiro de 2009 18:48
  • Vivi,

    deu certo agora viu.

    muito obrigado.
    Eduardo - Asp.Net - Web developer - SQL
    quinta-feira, 19 de fevereiro de 2009 18:53
  •  Vivi , bom dia

    Eu estava testando o código novamente , aquela ultima expressão que você me passo vai retirar retirar o 'R$' ou vai validar com ele 'R$' ??

    obrigado. tenha um bom dia
    Eduardo - Asp.Net - Web developer - SQL
    sexta-feira, 20 de fevereiro de 2009 10:53
  • Bom dia Eduardo,

    A expressão valida com R$. Se vc não incluir R$ vai dar a msg de formato incorreto.
    sexta-feira, 20 de fevereiro de 2009 11:17