none
Validação no DropDonwList RRS feed

  • Pergunta

  • Oi, 

    Tenho um ddl e estou usando RequiredFieldValidator  e ValidationSummary pra verificar se o ddl esta vazio, mas não esta funcionando pois na pag aspx o ddl esta assim:

                    ddlSistema.Items.Insert(0, "Selecione uma opção");
                    ddlSistema.SelectedIndex = 0;

    como faço pra verificar se o ddl esta com o valor 0 ao invés de vazio ? 

           <asp:DropDownList ID="ddlSistema" runat="server" Font-Size="X-Small"   ForeColor="#666666" Height="21px"  style="margin-bottom: 0px" Width="212px">
           </asp:DropDownList>

    <asp:RequiredFieldValidator
                              id="RequiredFieldValidator8"
                              ControlToValidate="txtDescricaodaVersao" 
                              ErrorMessage="Digite um descrição pra a Versão. "
                              Display="Static"
                              Width="2px"   
                              ForeColor ="#CC0000"
                              Font-Size = "Small"
                              Text="*" 
                              runat="server"/>



    <asp:ValidationSummary id="valSum" CssClass="validationsummary"
                              EnableClientScript="true"
                              HeaderText="Você deve digitar um valor nos seguintes campos:"
                              runat="server" Height="541px"/>

    segunda-feira, 18 de fevereiro de 2013 18:10

Respostas

Todas as Respostas

  • Fala Beatriz

    Você pode utilizar o custom CustomValidator no lugar do required.

    Com esses controle você pode especificar a comparação e verificar se deu erro.

    Ok?


    Francisco Gonçalves
    Blog: http://franciscogoncalves.com MTAC - MCPD Web Developer 4

    segunda-feira, 18 de fevereiro de 2013 18:34
  • Francisco,

    Eu sou iniciante, você tem algum exemplo de como usar o CustomValidator?

    Qual propriedade eu tenho que usar pra comparar o valor do ddl?

     <asp:CustomValidator ID="CustomValidator1" runat="server" 
                    ControlToValidate="ddlSistema" ErrorMessage="Selecione uma opção" ></asp:CustomValidator><br />
    • Editado Beatriz_RF segunda-feira, 18 de fevereiro de 2013 18:41
    segunda-feira, 18 de fevereiro de 2013 18:37
  • Beatriz

    No SelectedIndexChanged

    vc pode fazer uma validação

    if(ddlSistema.SelectedItem.Value =="0")


    Não esqueça de usar o componente </> na barra para posta seu código. Microsoft MCPD,MCTS,MCC

    segunda-feira, 18 de fevereiro de 2013 18:46
    Moderador
  • Seilor,

    Se eu fizer a validação pelo SelectedIndexChanged a mensagem de erro não vai aparecer junto com as outra dos txt no ValidationSummary, certo?

    segunda-feira, 18 de fevereiro de 2013 18:54
  • Beatriz eu prefiro fazer a validação no cliente usando javascript e validação no servidor, uma validação simples no servidor.

    tipo assim

    string sistema = ddlsistema.selecteditem.value;

    if (sistema == "0")

    mensagem de erro;


    Junior

    segunda-feira, 18 de fevereiro de 2013 19:00
  • Junior, 

    Obrigada mas não posso usar JS na minha aplicação

    segunda-feira, 18 de fevereiro de 2013 19:05
  • A grande desvantagem de usar ajax é que a validação ocorre no servidor, pq vc não pode usar JS ?

    Junior

    segunda-feira, 18 de fevereiro de 2013 19:20
  • Minha chefe não quer que eu use Js, ela acha que não é muito seguro.
    Não sei explicar o porque!
    segunda-feira, 18 de fevereiro de 2013 19:24
  • Junior, 

    Obrigada mas não posso usar JS na minha aplicação

    Beatriz,

    Você pode usar de JavaScript para validar, desde que use o controle de validação chamado CustomValidation e sua propriedade ClientValidationFunction. Atribuindo a sua função de JavaScript contendo toda a validação referente a este controle ou os demais, veja esta postagem que fiz falando +/- sobre isso, espero que ajude:

    http://vitormendes.com.br/2012/05/27/validando-listbox-com-customvalidator/

    Vitor Mendes | Seu feedback é muito importante para todos!
    Visite o meu site: http://www.vitormendes.com.br/

    segunda-feira, 18 de fevereiro de 2013 19:34
  • Vc não pode fazer a validação somente  no cliente, pq o usuário pode desativar o JS no navegador, mais dizer que é pouco seguro não concordo, hj aplicações web tem que ser versáteis e práticas, imagine vc informar 10 campos e só depois de vc clicar um botão ele validar e informar que determinado campo esta com uma informação inválida ? hj isso é quase inadmissível, o correto é vc validar logo após o componente perder o foco, e isso só se consegue via script ou jquery, ou seja validação no cliente. Claro que como falei acima vc tem que validar no servidor pq o usuário pode desabilitar no navegador.

    Respondendo sua súvida original se vc setou a ddl para o valor inicial 0 não tem pq ele ser vazia concorda ? a ddl precisa de dois argumentos, um indice(inteiro) e uma string que é a informação que será exibida no ddl.

    O índice vem da ddl.selecteditem.value

    A descrição vem da ddl.selecteditem.text


    Junior

    segunda-feira, 18 de fevereiro de 2013 19:35
  • Junior,

    Eu concordo com vc mas pra minha aplicação tem dois campos apenas é não é necessário usar JS.
    E a validação na pag cs eu já fiz, com a mensagem aparecendo em uma label. 

    Porém eu queria usar as ferramentas de valiation do visual Studio, e não sei como fazer pra comparar  um ddl com valor "0" e colocar ele como invalido, obrigando o usuário escolher uma outra opção, e nem sei se tem como fazer isso!?

    terça-feira, 19 de fevereiro de 2013 18:11
    • Marcado como Resposta Beatriz_RF terça-feira, 19 de fevereiro de 2013 20:03
    terça-feira, 19 de fevereiro de 2013 19:35