none
erro com MaskedEditValidator e MaskedEditExtender RRS feed

  • Pergunta

  • Tenho um textbox e inseri mascara nele para deixar formato data e hora:  99/99/9999 99:99

    quando eu tiro o foco dele, independentemente da hora que foi inserida, ele converte pra 12:12 e fala que a data está errada, como arrumo e faço a validação desse campo?

    segue o codigo:

      <asp:TextBox ID="txt_inicio" runat="server"></asp:TextBox>
                               <ajaxToolkit:MaskedEditExtender ID="MaskedEditExtender5" runat="server"
                TargetControlID="txt_inicio"
                Mask="99/99/9999 99:99"
                MessageValidatorTip="true"
                OnFocusCssClass="MaskedEditFocus"
                OnInvalidCssClass="MaskedEditError"
                MaskType="DateTime"
                DisplayMoney="Left"
                AcceptNegative="Left"
                ErrorTooltipEnabled="True" AcceptAMPM="True" />
            <ajaxToolkit:MaskedEditValidator ID="MaskedEditValidator5" runat="server"
                ControlExtender="MaskedEditExtender5"
                ControlToValidate="txt_inicio"
                InvalidValueMessage="Data inválida"
                Display="Dynamic"
                IsValidEmpty="true"
               InvalidValueBlurredMessage="Data inválida"
                ValidationGroup="MKE" />


    Darth Tsurth

    quinta-feira, 6 de dezembro de 2012 15:51

Todas as Respostas

  • vc esta jogando inicialmente algum valor para esse textbox ?

    Pq vc não valida e formata esse textbox com script roda no cliente, ajax vai no servidor faz a validação e volta, com script no onblur do textbox vc ja verifica se a data é valida, mais rápido.


    Junior

    quinta-feira, 6 de dezembro de 2012 16:15
  • poderia me passar um modelo dessa validação? Acreditei que esse ajax tool faria isso de forma fácil pra mim

    Darth Tsurth

    quinta-feira, 6 de dezembro de 2012 17:47
  • Darth meu script é enorme pq ele valida e formata muita coisa, data,hora,cpf,cnpj,so numero.

    Vc pode usar jquery datepicker ele tem até a opção de gerar um calendario e o usuario clica no dia e ele monta a data no textbox, é interessante tb.

    Sempre que possível tente validar no cliente é mais rápido, mais claro que no codebehind teste as validações tb.


    Junior

    quinta-feira, 6 de dezembro de 2012 18:21
  • Eu vou ver se alguem me ajuda com o ajaxtoolkit por enquanto, caso não eu pesquiso sobre ele.


    Darth Tsurth

    quinta-feira, 6 de dezembro de 2012 18:27
  • Identifiquei  erro que está dando, é o seguinte:

    se eu coloco por exemplo uma data aleatória: 23/09/2012 07:35 , ele altera o horário e coloca os valores que foram digitados no inicio da data, ficando nesse exemplo 23/09/2012 23:09

     alguem tem idéia porque isso está acontecendo?


    Darth Tsurth

    sexta-feira, 7 de dezembro de 2012 00:07
  • o mais espantoso, é que se vc fizer o mesmo teste no site do componente, vc vai ver o mesmo erro acontecendo:

    http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/MaskedEdit/MaskedEdit.aspx

    faça o teste, preenchendo o ultimo campo preenchendo data e hora e depois tira o focus dele vc vai perceber que ele desconfigura.

    como pode ter um componente com erro no site oficial?? será que nao tem solução?


    Darth Tsurth

    segunda-feira, 10 de dezembro de 2012 15:26
  • Caro Darth,

    Hoje, 07/02/2013 o erro ainda persiste!

    Estou com o mesmo problema. E o pior é que em versões mais antigas do AJAX Control Toolkit esse problema não existia. O bug foi criado nessas versões mais recentes.

    Será que alguém já tem alguma forma de contornar esse problema?

    Grato pela atenção de todos.

    Paulo Ricardo Ferreira

    quinta-feira, 7 de fevereiro de 2013 14:35
  • pois é! ainda não tivesse sucesso com essa solução, tive que desistir de usar a mascara. Espero que alguem tenha essa solução tb.

    abraço


    Darth Tsurth

    quinta-feira, 7 de fevereiro de 2013 19:12
  • adiciona essse elemento no começo da pagina <ajaxToolKit:ToolkitScriptManager/>
    sexta-feira, 8 de fevereiro de 2013 00:52