andrerm 0 Denunciar post Postado Outubro 1, 2009 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
Cega86 0 Denunciar post Postado Outubro 1, 2009 utilize a validationGroup. Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Outubro 2, 2009 Mesmo utilizando o ValidationGroup ele não irá mudar de aba automaticamente. Não creio que seja possível. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
andrerm 0 Denunciar post Postado Outubro 6, 2009 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
quintelab 91 Denunciar post Postado Outubro 6, 2009 É o caminho será JavaScript mesmo. Veja como fica rederizado essas mensagens no HTML, se ele cria input ou label. Ae tente esconder este input ou label. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
andrerm 0 Denunciar post Postado Outubro 6, 2009 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
quintelab 91 Denunciar post Postado Outubro 7, 2009 Um recurso muito utilizado é definir estilo CSS para os controles, ae você pode esconder todos os controle que tenha X classe CSS. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites