none
RegularExpressionValidator não funciona RRS feed

  • Pergunta

  • Boa tarde pessoal. Tenho uma aplicação web cujo um form eu tenho alguns Validators (RegularExpressionValidator , RequiredFieldValidator).

    Quando eu rodo localmente esse validadores funcionam como esperado ( ao clicar no meu botão salvar ). Porém quando público na internet eles não funcionam, é como se não estivessem lá. Estou rodando em cima do .NET 3.5 .

    Já tinha criado outras aplicações, com validadores e ao publicar tudo normal. Não sei o que pode esta acontecendo.

    Alguém poderia me dar uma luz?

    Obrigado

    quarta-feira, 9 de maio de 2012 15:08

Respostas

  • Rodrigo,Eduardo. Muito obrigado pela atenção. Resolvido o problema, o ruim é que eu não sei direito como. 

    O que eu fiz foi remover a tag de redirecionamento de erro no meu WEB.Config e publiquei a página, o validadores passaram a funcionar.

    Acredito que foi algum pau no web.config.

        <customErrors mode="On" defaultRedirect="erro.aspx">
          <error statusCode="500" redirect="erro.aspx"/>
          <error statusCode="404" redirect="erro.aspx"/>
          <error statusCode="403" redirect="erro.aspx"/>
        </customErrors>

    • Marcado como Resposta HugoFernandes_ quinta-feira, 10 de maio de 2012 13:13
    quinta-feira, 10 de maio de 2012 13:12

Todas as Respostas

  • Olá,

    Gerou algum erro? Procure por algum evento no EventViewer.

    Você está testando a aplicação publicada da mesma máquina que desenvolveu o código?


    É possível sim! Ponha isso na sua cabeça. É possível. "Steve Jobs"

    quarta-feira, 9 de maio de 2012 16:46
  • Não Gera nenhum erro. Testei a aplicação em outras maquinas, e ocorre sempre a mesma coisa( o validators não funcionam )

    Obrigado Eduardo 

    quarta-feira, 9 de maio de 2012 17:08
  • Ola, realmente estranho considerando que é a mesma aplicação, eu teria chutado problema de javascript mas você disse que testou em outros browsers correto? Utilize o inspetor de elementos do browser que você usa para ver o que ocorre no momento que deveria estar ocorrendo a validação. No seu caso eu criaria uma aplicação simples de uma página apenas com um textbox e um controle de validação para ver o que ocorre (caso ja não tenha feito).

    Se puder postar o código podemos dar uma olhada.

    abraço


    Rodrigo Reis Ferreira
    Microsoft Certified


    quarta-feira, 9 de maio de 2012 17:12
  • Olá Rodrigo. Fiz o que você sugeriu. Criei uma aplicação (WEBSITE) simples e publiquei no meu site (http://www.maisdominio.com.br/teste/) e não funciona.

    Para teste eu coloquei um textbox e um RegularExpression para só aceitar números, Localmente tudo tranquilo mas publicado não funciona.

    meu código .aspx

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
        
            <asp:TextBox ID="edtCPFAlunoPai" runat="server" CssClass="style7" 
                MaxLength="11" Width="140px"></asp:TextBox>
            <asp:RegularExpressionValidator ID="RegularExpressionValidator6" runat="server" 
                ControlToValidate="edtCPFAlunoPai" ErrorMessage="somente números" 
                ValidationExpression="[0-9]{1,250}"></asp:RegularExpressionValidator>
        
        </div>
        </form>
    </body>
    </html>

    Obrigado pela atenção Rodrigo

    quarta-feira, 9 de maio de 2012 17:35
  • Amigo,

    Começaria avaliar a existência de um problema local, seu código está funcionando, eu acessei seu teste publicado!

    Veja se as polices não desativaram algum recurso de browser, ou tente instalar como no meu caso o Chrome (para testar). 

    Qualquer dúvida poste ai!

    Abç.


    É possível sim! Ponha isso na sua cabeça. É possível. "Steve Jobs"

    quarta-feira, 9 de maio de 2012 18:58
  • Estava lendo sobre um Bug com Regex no IE:

    http://blog.stevenlevithan.com/archives/regex-lookahead-bug

    Olhando para alguns códigos meus, descobri que uso esta expressão:

    <asp:RegularExpressionValidator ID="RegularExpressionValidator6" runat="server" 
                ControlToValidate="edtCPFAlunoPai" ErrorMessage="somente números" 
                ValidationExpression="^[0-9]*\d"></asp:RegularExpressionValidator>

    Tente publicar com esta, apenas para validar se o problema não é este!


    É possível sim! Ponha isso na sua cabeça. É possível. "Steve Jobs"

    quarta-feira, 9 de maio de 2012 19:17
  • Ola Hugo, como o Eduardo, aqui funcionou sem problemas (http://www.maisdominio.com.br/teste/). Testou em mais de um browser em sua máquina?

    Rodrigo Reis Ferreira
    Microsoft Certified

    quinta-feira, 10 de maio de 2012 02:03
  • Rodrigo,Eduardo. Muito obrigado pela atenção. Resolvido o problema, o ruim é que eu não sei direito como. 

    O que eu fiz foi remover a tag de redirecionamento de erro no meu WEB.Config e publiquei a página, o validadores passaram a funcionar.

    Acredito que foi algum pau no web.config.

        <customErrors mode="On" defaultRedirect="erro.aspx">
          <error statusCode="500" redirect="erro.aspx"/>
          <error statusCode="404" redirect="erro.aspx"/>
          <error statusCode="403" redirect="erro.aspx"/>
        </customErrors>

    • Marcado como Resposta HugoFernandes_ quinta-feira, 10 de maio de 2012 13:13
    quinta-feira, 10 de maio de 2012 13:12
  • Que bom que resolveu. Sucesso ai no projeto. :)

    Rodrigo Reis Ferreira
    Microsoft Certified

    quinta-feira, 10 de maio de 2012 13:20
  • Olá!

    Não faz muito sentido, mas funcionou! Se descobrir mais algo seria legal postar para enriquecer a resolução do caso.

    Boa sorte!


    É possível sim! Ponha isso na sua cabeça. É possível. "Steve Jobs"

    quinta-feira, 10 de maio de 2012 13:57