Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

andrerm

TabContainer / RequiredFieldValidator

Recommended Posts

Olá,

 

Estou sofrendo para ativar a aba do TabContainer está está o RequiredFieldValidator.

O meu cenário é simples, tenho um formulário com um TabContainer, ele contém 3 abas.

Nas 3 abas existem campos de preenchimento obrigatório.

 

Agora o problema...

 

Estou na primeira aba, não preenchi um campo da segunda aba, quando clico no botão o RequiredFieldValidator funciona mais a aba continua a primeira, preciso que mude para a segunda nesse caso.

 

Resumindo preciso que seja ativada a aba aonde existir campo de preenchimento obrigatório que não tenho sido preenchido.

 

Algum tem uma noção do que preciso fazer ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

To quase conseguindo... :rolleyes:

Consegui mudar a tab usando o ValidationGroup e javascript.

 

Agora só preciso ajusta para na hora que mudar a tab não aparecer todas as mensagens de validação na tela.

Se acessa a segunda tab sem preencher nada na primeira quando clico no botão e ele me direciona para a primeira tab todas as mensagens de validação aparecem na tela.

 

Alguém sabe como fazer para aparecer apenas uma mensagem ?

 

 

Segue a solução parcial:

<script language="javascript" type="text/javascript"> 
   function validatePage() 
   { 
       var container = $find('<%=Tab1.ClientID%>');
       var flag = Page_ClientValidate('ValidaFormularioDados'); 

       if (flag)
           flag = Page_ClientValidate('ValidaFormularioProfissional'); 
       else
       {
           container.set_activeTabIndex(0);
           return flag;
       }

       if (flag) 
           flag = Page_ClientValidate('ValidaFormularioLogin'); 
       else
       {
           container.set_activeTabIndex(1);
           return flag;
       }

       if (flag)
           flag = Page_ClientValidate(); 
       else
       {
           container.set_activeTabIndex(3);
           return flag;
       }

       return flag

   } 
   </script>

 

Criei 3 ValidationGroup e no botão que irá verificar ficou assim:

<asp:Button ID="btnSalvar" runat="server" CssClass="botao_acao" CausesValidation="true" OnClientClick="javascript:validatePage();" ValidationGroup="ValidaFormularioDados,ValidaFormularioProfissional,ValidaFormularioLogin" CommandArgument="inserir" 
               Text="Salvar" />

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu estou usando o controle ValidatorCalloutExtender para exibir as mensagens de validação.

Para verificar um a um para ocultar seria mais fácil retirar o validation group e trabalhar com toda a validação em JavaScript o problema é a quantidade de campos, são muitos !!!

Será que não tem uma solução mais automatizada ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.