Validação com AJAX + asp:RequiredFieldValidator

10/06/2021

3

Estou com problemas na validação de campos utilizando o "asp:RequiredFieldValidator", segue a página do projeto atual , que utiliza MasterPage e outro código de um projeto novo.

O que ocorre é que no projeto atual quando clico no botão é disparado o "lbgravarTeste_Click" sem fazer as validações, ou seja ocorre um POSTBACK antes de disparar as validações.

No projeto novo, sem MasterPage a validação ocorre corretamente, onde primeiro valida e só depois dispara o "lbgravarTeste_Click".

Preciso de um auxílio na resolução desse problema.

<%-- PROJETO ATUAL l--%>
<%@ Page Title="Teste Master" Language="C#" MasterPageFile="~/testeLayout.master" AutoEventWireup="true" CodeFile="testeMaster.aspx.cs" Inherits="testeMaster" EnableEventValidation="true" %>

<asp:Content ID="contConteudo" ContentPlaceHolderID="cphConteudo" runat="Server">
    <div>
        <label for="txtData">Data Teste</label>
        <asp:TextBox runat="server" AutoPostBack="false" ID="tbDataTeste" type="date" ToolTip="Informe a Data."></asp:TextBox>
        <asp:RequiredFieldValidator ID="rfvDataTeste" runat="server" ErrorMessage="Data Teste" ControlToValidate="tbDataTeste" ValidationGroup="gravarTeste" ForeColor="Red" SetFocusOnError="True"> *Informe uma data teste! </asp:RequiredFieldValidator>
    </div>

    <footer class="text-center">
        <asp:Button
            ID="btnGravar"
            runat="server"
            Text="Gravar"
            CssClass="lbBotaoGravar"
            ValidationGroup="gravarTeste"
            OnClick="lbgravarTeste_Click" />
    </footer>
</asp:Content>



<%-- PROJETO NOVO l--%>
%@ Page Language="C#" AutoEventWireup="true" CodeFile="teste.aspx.cs" Inherits="teste" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
</head>
<body>
    <form id="form1" runat="server">

        <div>
            <label for="txtData">Data Teste</label>
            <asp:TextBox runat="server" AutoPostBack="false" ID="tbDataTeste" type="date" ToolTip="Informe a Data."></asp:TextBox>
            <asp:RequiredFieldValidator ID="rfvDataTeste" runat="server" ErrorMessage="Data Teste" ControlToValidate="tbDataTeste" ValidationGroup="gravarTeste" ForeColor="Red" SetFocusOnError="True"> *Informe uma data teste! </asp:RequiredFieldValidator>
        </div>

        <footer class="text-center">
            <asp:Button
                ID="btnGravar"
                runat="server"
                Text="Gravar"
                CssClass="lbBotaoGravar"
                ValidationGroup="gravarTeste"
                OnClick="lbgravarTeste_Click" />
        </footer>
    </form>
</body>
</html>


Junior
Responder

Posts

Alguma sugestão DEVs? Continuo com problemas na validação em meu sistema!

Estou com problemas na validação de campos utilizando o "asp:RequiredFieldValidator", segue a página do projeto atual , que utiliza MasterPage e outro código de um projeto novo.

O que ocorre é que no projeto atual quando clico no botão é disparado o "lbgravarTeste_Click" sem fazer as validações, ou seja ocorre um POSTBACK antes de disparar as validações.

No projeto novo, sem MasterPage a validação ocorre corretamente, onde primeiro valida e só depois dispara o "lbgravarTeste_Click".

Preciso de um auxílio na resolução desse problema.

<%-- PROJETO ATUAL l--%>
<%@ Page Title="Teste Master" Language="C#" MasterPageFile="~/testeLayout.master" AutoEventWireup="true" CodeFile="testeMaster.aspx.cs" Inherits="testeMaster" EnableEventValidation="true" %>

<asp:Content ID="contConteudo" ContentPlaceHolderID="cphConteudo" runat="Server">
    <div>
        <label for="txtData">Data Teste</label>
        <asp:TextBox runat="server" AutoPostBack="false" ID="tbDataTeste" type="date" ToolTip="Informe a Data."></asp:TextBox>
        <asp:RequiredFieldValidator ID="rfvDataTeste" runat="server" ErrorMessage="Data Teste" ControlToValidate="tbDataTeste" ValidationGroup="gravarTeste" ForeColor="Red" SetFocusOnError="True"> *Informe uma data teste! </asp:RequiredFieldValidator>
    </div>

    <footer class="text-center">
        <asp:Button
            ID="btnGravar"
            runat="server"
            Text="Gravar"
            CssClass="lbBotaoGravar"
            ValidationGroup="gravarTeste"
            OnClick="lbgravarTeste_Click" />
    </footer>
</asp:Content>



<%-- PROJETO NOVO l--%>
%@ Page Language="C#" AutoEventWireup="true" CodeFile="teste.aspx.cs" Inherits="teste" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
</head>
<body>
    <form id="form1" runat="server">

        <div>
            <label for="txtData">Data Teste</label>
            <asp:TextBox runat="server" AutoPostBack="false" ID="tbDataTeste" type="date" ToolTip="Informe a Data."></asp:TextBox>
            <asp:RequiredFieldValidator ID="rfvDataTeste" runat="server" ErrorMessage="Data Teste" ControlToValidate="tbDataTeste" ValidationGroup="gravarTeste" ForeColor="Red" SetFocusOnError="True"> *Informe uma data teste! </asp:RequiredFieldValidator>
        </div>

        <footer class="text-center">
            <asp:Button
                ID="btnGravar"
                runat="server"
                Text="Gravar"
                CssClass="lbBotaoGravar"
                ValidationGroup="gravarTeste"
                OnClick="lbgravarTeste_Click" />
        </footer>
    </form>
</body>
</html>


Junior
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar