none
MaskedEditValidator - Formato de data inválido RRS feed

  • Pergunta

  • Salve!

    Aplicação com C#, com  VS2013 Express.

    A página tem o seguinte HTML:

    <%@ Page Title="Aceitação de pendência" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true" CodeBehind="Aceite.aspx.cs" Inherits="Interface_Web.Pendências.Aceite" %>
    <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajax" %>
    <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
    </asp:Content>
    <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
        <ajax:ToolkitScriptManager runat="Server" EnablePartialRendering="true" ID="ScriptManager1" EnableScriptGlobalization="true" EnableScriptLocalization="true" />
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
                <div id="divItem" runat="server" style="border: 1px solid #496077;">
                    <div class="header">
                        <div class="title">
                            <h1>Aceite da pendência - <asp:Label ID="lblID" runat="server" /></h1>
                        </div>
                    </div>
                    <table style="width: 100%">
                        <tr class="cabecalhoColunasTabela">
                            <td style="width: 10%;">Local</td>
                            <td style="width: 55%;">Assunto</td>
                            <td style="width: 15%;">Responsabilidade</td>
                            <td style="width: 10%;">Prazo</td>
                            <td style="width: 10%;">Classificador</td>
                        </tr>
                        <tr style="vertical-align: top;">
                            <td style="text-align: center;">
                                <asp:Label ID="localLabel" runat="server"/>
                            </td>
                            <td style="text-align: left;">
                                <asp:Label ID="assuntoLabel" runat="server"/>
                            </td>
                            <td style="text-align: center;">
                                <asp:PlaceHolder ID="phResponsabilidade" runat="server"/>
                            </td>
                            <td style="text-align: center;">
                                <asp:Label ID="lblPrazo" runat="server" Visible="false"/>
                                <asp:TextBox ID="txtDtPrazo" runat="server" Width="70px"/>&nbsp;
                                <asp:ImageButton ID="imgBtndtPrazo" runat="server" ImageUrl="~/Imagens/Calendar_scheduleHS.png" CausesValidation="false" />
                                <ajax:MaskedEditExtender ID="MaskedEditExtender2" runat="server" TargetControlID="txtDtPrazo" Mask="99/99/9999" MaskType="Date" ErrorTooltipEnabled="true" />
                                <ajax:MaskedEditValidator ID="MaskedEditValidator2" runat="server" ControlExtender="MaskedEditExtender2" ControlToValidate="txtDtPrazo" InvalidValueMessage="A data informada é inválida." Display="None" EmptyValueMessage="Por favor, informe o prazo para solução da pendência." ValidationGroup="aceitar" IsValidEmpty="false"/>
                                <ajax:CalendarExtender ID="CalendarExtender3" runat="Server" TargetControlID="txtDtPrazo" PopupButtonID="imgBtndtPrazo" FirstDayOfWeek="Monday"/>
                            </td>
    

    O que está acontecendo é que o MaskedEditValidator está sempre marcando a data como inválida, mesmo estando ok.

    Qual é o erro?

    Grato pela atenção de todos.

    Paulo Ricardo Ferreira

    terça-feira, 20 de maio de 2014 15:34

Respostas

  • Acho que entendi o problema, creio que é um conflito entre o formato da máscara com o calendar, coloque o propriedade Format no component Calendar:

    Format="dd/MM/yyyy"

    • Sugerido como Resposta Raphael Heitor terça-feira, 20 de maio de 2014 17:46
    • Marcado como Resposta PRicardo Ferreira quarta-feira, 21 de maio de 2014 12:35
    terça-feira, 20 de maio de 2014 17:46

Todas as Respostas

  • Boa tarde,

    creio que o erro esteja no maskedEditExtender:

    <ajax:MaskedEditExtender   
                ID="MaskedEditExtender2"  
                runat="server"  
                TargetControlID="txtDtPrazo"  
                Mask="99/99/9999"  
                MaskType="Date"  
                MessageValidatorTip="true"  
                >  

    • Sugerido como Resposta Raphael Heitor terça-feira, 20 de maio de 2014 16:53
    terça-feira, 20 de maio de 2014 16:53
  • Caro Raphael,

    A diferença que percebi do MaskedEditExtender sugerido é o uso da propriedade MessageValidatorTip e não usar a propriedade ErrorTooltipEnabled.

    Só que continua dando crítica. A única diferença é que não aparece o tooltip.

    Grato pela sua atenção.

    Paulo Ricardo Ferreira

    terça-feira, 20 de maio de 2014 17:16
  • dá erro ao clicar em algum botão? poderia colocar o código completo.
    terça-feira, 20 de maio de 2014 17:37
  • Acho que entendi o problema, creio que é um conflito entre o formato da máscara com o calendar, coloque o propriedade Format no component Calendar:

    Format="dd/MM/yyyy"

    • Sugerido como Resposta Raphael Heitor terça-feira, 20 de maio de 2014 17:46
    • Marcado como Resposta PRicardo Ferreira quarta-feira, 21 de maio de 2014 12:35
    terça-feira, 20 de maio de 2014 17:46
  • Caro Raphael,

    Com essa sugestão o problema foi resolvido.

    Desculpe a demora em responder, mas tive que resolver um problema em outra aplicação.

    Grato pela sua atenção.
    Paulo Ricardo Ferreira
    quarta-feira, 21 de maio de 2014 12:35