none
isValid RRS feed

  • Pergunta

  • Pessoal,

    Qdo coloco isso pra ver se meu form é valido (Page.IsValid) o que é checado ?

    Quais sao as propriedades verificadas para saber se ele é valido ou nao ?

    Abracos 

    quarta-feira, 13 de março de 2013 16:37

Respostas

  • Existem controles de validação ASP.NET para verificar se os campos foram preenchidos, se foram preenchidos com determinada máscara de entrada, se o conteúdo de 2 campos são iguais entre outros, e todos eles servem para garantir a consistência e integridade das informações.

    Caso algum campo não tenha sido devidamente preenchido a propriedade IsValid vai ser False, querendo mostrar que campos da página não foram devidamente preenchidos.

    Se IsValid for True, todos os campos foram devidamente preenchidos.


    Leonardo Lourenço Silva
    MCT, MCPD, MCTS, MCP

    Desligue a TV, tire sua fantasia de carnaval e vá ESTUDAR !!!

    • Sugerido como Resposta Leonardo Lourenço Silva quarta-feira, 13 de março de 2013 17:58
    • Marcado como Resposta AGA Neto sexta-feira, 15 de março de 2013 16:41
    quarta-feira, 13 de março de 2013 17:58
  • Complementando a resposta do Leonardo, considere o seguinte cenário:

       <asp:TextBox ID="txtNome" runat="server"  />
    
       <asp:TextBox ID="txtEmail" runat="server" />
    
       <asp:Button ID="btnSalvar" runat="server" Text="Salvar" OnClick="btnSalvar_Click" />
    
    <asp:RequiredFieldValidator ID="reqNome" runat="server" ErrorMessage="Campo nome é obrigatório" ControlToValidate="txtNome"></asp:RequiredFieldValidator>
    <asp:RequiredFieldValidator ID="reqEmail" runat="server" ErrorMessage="Campo E-mail é obrigatório" ControlToValidate="txtEmail"></asp:RequiredFieldValidator>

    Note que existem controles de validação na página para garantir que os campos serão preenchidos. O problema é que essa validação é feita apenas no CLIENTE, isso não garante que dados válidos serão enviados para o servidor, pois a maquina cliente pode estar com o javascript desabilitado.

    É aí que entra a propriedade Page.IsValid, ela valida no SERVIDOR se os dados foram preenchidos corretamente.

    Lembrando que os controles de entrada que devem ser validados, controles de validação e o controle que efetuou o postback (no caso o botão) devem estar no mesmo "ValidationGroup" e o botão deve ter a propriedade CausesValidation setada para "true" (padrão) para que a validação seja efetuada.

    Resumindo: Page.IsValid considera os mesmos testes que os controles de validação, mas do lado servidor.


    Spartans! Tonight we dine in Hell!


    • Editado Israel Vilela quinta-feira, 14 de março de 2013 12:16
    • Marcado como Resposta AGA Neto sexta-feira, 15 de março de 2013 16:42
    quinta-feira, 14 de março de 2013 12:14

Todas as Respostas

  • http://msdn.microsoft.com/pt-br/library/system.web.ui.page.isvalid.aspx
    quarta-feira, 13 de março de 2013 17:30
  • Existem controles de validação ASP.NET para verificar se os campos foram preenchidos, se foram preenchidos com determinada máscara de entrada, se o conteúdo de 2 campos são iguais entre outros, e todos eles servem para garantir a consistência e integridade das informações.

    Caso algum campo não tenha sido devidamente preenchido a propriedade IsValid vai ser False, querendo mostrar que campos da página não foram devidamente preenchidos.

    Se IsValid for True, todos os campos foram devidamente preenchidos.


    Leonardo Lourenço Silva
    MCT, MCPD, MCTS, MCP

    Desligue a TV, tire sua fantasia de carnaval e vá ESTUDAR !!!

    • Sugerido como Resposta Leonardo Lourenço Silva quarta-feira, 13 de março de 2013 17:58
    • Marcado como Resposta AGA Neto sexta-feira, 15 de março de 2013 16:41
    quarta-feira, 13 de março de 2013 17:58
  • Complementando a resposta do Leonardo, considere o seguinte cenário:

       <asp:TextBox ID="txtNome" runat="server"  />
    
       <asp:TextBox ID="txtEmail" runat="server" />
    
       <asp:Button ID="btnSalvar" runat="server" Text="Salvar" OnClick="btnSalvar_Click" />
    
    <asp:RequiredFieldValidator ID="reqNome" runat="server" ErrorMessage="Campo nome é obrigatório" ControlToValidate="txtNome"></asp:RequiredFieldValidator>
    <asp:RequiredFieldValidator ID="reqEmail" runat="server" ErrorMessage="Campo E-mail é obrigatório" ControlToValidate="txtEmail"></asp:RequiredFieldValidator>

    Note que existem controles de validação na página para garantir que os campos serão preenchidos. O problema é que essa validação é feita apenas no CLIENTE, isso não garante que dados válidos serão enviados para o servidor, pois a maquina cliente pode estar com o javascript desabilitado.

    É aí que entra a propriedade Page.IsValid, ela valida no SERVIDOR se os dados foram preenchidos corretamente.

    Lembrando que os controles de entrada que devem ser validados, controles de validação e o controle que efetuou o postback (no caso o botão) devem estar no mesmo "ValidationGroup" e o botão deve ter a propriedade CausesValidation setada para "true" (padrão) para que a validação seja efetuada.

    Resumindo: Page.IsValid considera os mesmos testes que os controles de validação, mas do lado servidor.


    Spartans! Tonight we dine in Hell!


    • Editado Israel Vilela quinta-feira, 14 de março de 2013 12:16
    • Marcado como Resposta AGA Neto sexta-feira, 15 de março de 2013 16:42
    quinta-feira, 14 de março de 2013 12:14
  • Valeu
    sexta-feira, 15 de março de 2013 16:42