none
Label e Validator RRS feed

  • Pergunta

  • Olá.

    Tenho um formulário com todos os campos obrigatórios (uso o RequiredValidator) para cadastro, e ao clicar no botão "Salvar" o registro é salvo e uma mensagem de sucesso (Label) é mostrada. Contudo se o usuário clicá-lo com um dos campos vazio, uma outra mensagem é exibida (através de um SummaryValidator - como um Label), que existem campos obrigatórios vazios.

    Tudo bem. O problema é que as duas mensagens ficam "concorrendo" (aparecem simultaneamente) quando um registro é adicionado e logo em seguida clico no botão "Salvar" novamente (todos os campos estão vazios).

    Tentei fazer uma condição para ver se a página está validada, mas não consegui (se não me engano, o evento Click do botão só é chamado se passar pela validação dos controles). Se os controles de validação tivessem algum evento...

    Enfim, se alguém puder me ajudar.

    Obrigado antecipadamente.

    terça-feira, 8 de fevereiro de 2011 12:06

Respostas

  • Pessoal, deu certo colocando o CausesValidation do botão para False, usando o método Page.Validate e verificando a validação com o Page.IsValid. Fiz a condição e pronto.

    Obrigado a todos.

     

    • Marcado como Resposta Danilo Kleber terça-feira, 15 de fevereiro de 2011 12:49
    terça-feira, 15 de fevereiro de 2011 12:49

Todas as Respostas

  • Danilo, não entendi muito bem a sua situação, mas veja os controles do ASPX tem uma propriedade chamada ValidationGroup que junto com o controles validação fazem um grupo especifico para cada tipo de validação, por exemplo a sua aplicação quer validar se todos os campos estão preenchidos somente quando o botão de salvar for pressionado, então você coloca todos os controles no validationgroup salvar e o botão salvar tambem no grupo assim outras funções que não estejam no group não serão afetadas. Espero ter ajudado em algo

    Olavo Oliveira Neto
    http://olavooneto.wordpress.com
    Se for útil marque como resposta e faça um Developer feliz :)
    terça-feira, 8 de fevereiro de 2011 12:10
  • Primeiramente, obrigado pela resposta.

    Mas o que quero EXATAMENTE é isso: mudar a propriedade Visible de um Label se a página não estiver validada.

    terça-feira, 8 de fevereiro de 2011 12:15
  • Danilo, você tem o Page.Validate.

    Link:
    http://msdn.microsoft.com/en-us/library/0ke7bxeh.aspx

    Abraço

    Estevam


    **** Se a reposta foi útil, então não esqueça de marca-lá. ***
    terça-feira, 8 de fevereiro de 2011 13:23
  • Não vai, Luiz. Acredito que o Click do botão não é chamado se um validador estiver em ação.

    terça-feira, 8 de fevereiro de 2011 13:25
  • Os controles de validação tem a propriedade IsValid, já tentou com ela.

    Abraço

    Estevam


    **** Se a reposta foi útil, então não esqueça de marca-lá. ***
    terça-feira, 8 de fevereiro de 2011 13:28
  • Já, também não funciona.
    terça-feira, 8 de fevereiro de 2011 13:29
  • Pessoal, deu certo colocando o CausesValidation do botão para False, usando o método Page.Validate e verificando a validação com o Page.IsValid. Fiz a condição e pronto.

    Obrigado a todos.

     

    • Marcado como Resposta Danilo Kleber terça-feira, 15 de fevereiro de 2011 12:49
    terça-feira, 15 de fevereiro de 2011 12:49