none
Validação JS com ASP.net RRS feed

  • Pergunta

  • Pessoal,

    estou implementando uma validação em JS que é invocada assim:

    <asp:Button ID="Button1" OnClientClick="return Validate()"

    runat="server" Text="Visualizar impresso"/>                

    A minha dúvida é a seguinte, após fazer as validações e considerar que elas foram executadas normalmente, é preciso declarar também o evento onclick no componente button junto com a declaração acima, para funcionar corretamente?

    <onclick="Button1_Click">


    Missão Crítica

    sexta-feira, 25 de maio de 2012 14:58

Respostas

  •  - Na função Validate, você passa o THIS assim: Validate(this).

     - Coloque no OnClick a assinatura do método que vai estar na Code Behind;

     - Após isso:

    Function Validate(c)
    {

    .
    . seus códigos de validação
    .

        if (a validação estiver ok) {
           __doPostBack(c.name, ""); //Realiza um postback passando como parâmetro o nome do controle. Com isso, o método de Click é chamado e o método relacionado do Code Behind é chamado.
        }

    }


    Rafael Santos
    E-mail: rsdsantos@gmail.com

    Pequeno Gafanhoto

    • Marcado como Resposta Harley Araujo terça-feira, 29 de maio de 2012 11:26
    sexta-feira, 25 de maio de 2012 20:02
  • Aldo-30.. não faça isso... faça assim:

    <asp:button id="gravar" runat="server" OnClientClick="return Validate();" onclick="gravar_Click" Text="gravar"/>

    Você põe as duas propriedades no Button: OnClienteClick e onclick..

    Na função Validate você usa 'return false;' caso a validação falhar e 'return true;' caso dê certo.


    http://www.linkedin.com/pub/murilo-kunze/44/191/455





    • Editado Murilo Kunze sábado, 26 de maio de 2012 02:30
    • Sugerido como Resposta Rafa Santos segunda-feira, 28 de maio de 2012 13:10
    • Marcado como Resposta Harley Araujo terça-feira, 29 de maio de 2012 11:26
    sexta-feira, 25 de maio de 2012 23:58

Todas as Respostas

  • Não. O Evento OnClick é nativo do controle e realiza a chamada do evento de Click no lado do servidor. O OnClientClick realiza funções JavaScript no lado Cliente.

    Ou seja, para validar com JavaScript, deve-se utilizar o OnClienteClick apenas.


    Rafael Santos
    E-mail: rsdsantos@gmail.com

    Pequeno Gafanhoto

    • Sugerido como Resposta EduardoPiresMVP sexta-feira, 25 de maio de 2012 18:11
    sexta-feira, 25 de maio de 2012 15:54
  • ok, mas ele valida no cliente e como eu faria para invocar o evento de Click considerando que a validação foi executada com sucesso.

    Missão Crítica

    sexta-feira, 25 de maio de 2012 18:06
  •  - Na função Validate, você passa o THIS assim: Validate(this).

     - Coloque no OnClick a assinatura do método que vai estar na Code Behind;

     - Após isso:

    Function Validate(c)
    {

    .
    . seus códigos de validação
    .

        if (a validação estiver ok) {
           __doPostBack(c.name, ""); //Realiza um postback passando como parâmetro o nome do controle. Com isso, o método de Click é chamado e o método relacionado do Code Behind é chamado.
        }

    }


    Rafael Santos
    E-mail: rsdsantos@gmail.com

    Pequeno Gafanhoto

    • Marcado como Resposta Harley Araujo terça-feira, 29 de maio de 2012 11:26
    sexta-feira, 25 de maio de 2012 20:02
  • Aldo-30.. não faça isso... faça assim:

    <asp:button id="gravar" runat="server" OnClientClick="return Validate();" onclick="gravar_Click" Text="gravar"/>

    Você põe as duas propriedades no Button: OnClienteClick e onclick..

    Na função Validate você usa 'return false;' caso a validação falhar e 'return true;' caso dê certo.


    http://www.linkedin.com/pub/murilo-kunze/44/191/455





    • Editado Murilo Kunze sábado, 26 de maio de 2012 02:30
    • Sugerido como Resposta Rafa Santos segunda-feira, 28 de maio de 2012 13:10
    • Marcado como Resposta Harley Araujo terça-feira, 29 de maio de 2012 11:26
    sexta-feira, 25 de maio de 2012 23:58