none
Ajuda para validar e popular um dropdownlist! RRS feed

  • Pergunta

  • Pessoal é o seguinte, eu possui as seguintes classes de entidade relacional:
    public class Usuario
    {
      public Int32 ID { get; set; }
      [Required(ErrorMessage="Nome requerido")]
      public String Nome { get; set; }
      public String Email { get; set; }
      public DateTime DataNascimento { get; set; }
      public Pais Pais { get; set; }
    }
    
    public class Pais
    {
      public Int32 ID { get; set; }
      public String Nome { get; set; }
    }
     
    O relacionamento delas é de 1 pra muitos, onde um usuário poderá escolher 1 país em um dropdownlist e eu irei persistir o ID do pais no registro do usuário.
    Gostaria de saber 2 coisas, quanto à popular os paises em um dropdownlist, estou fazendo da seguinte forma:
    No Controller:
    ViewData["Paises"] = new SelectList(RetornaPaises(), "ID", "Nome");
    
     
    No View:
    <%= Html.DropDownList("Pais", ViewData["Paises"] as SelectList, "Selecionar...")%>
    <%= Html.ValidationMessage("Pais") %>
    
    Queria saber se essa é a melhor maneira de se criar o dropdownlist e minha outra dúvida é quanto à validação. Estou usando o método de Data Annotations onde se coloca os atributos de validação em cima de cada propriedade. Gostaria de saber, como que eu faço para validar se o usuário selecionou um país nesse dropdownlist usando o Data Annotations nesse caso.

    domingo, 1 de maio de 2011 03:05

Respostas

  • Olá, Tiago.

    Sendo o model da sua página a classe Usuario, o que você precisa fazer é alterar o código do DropDownList para:

    <%: Html.DropDownListFor(model => model.Pais, ViewData["Paises"] as SelectList, "Selecionar...")%>
    

    No Data Annotations, para validar o atributo, utilize o [Required].

    Abraços,


    Paulo Castilho - www.paulocastilho.com.br
    segunda-feira, 2 de maio de 2011 17:20

Todas as Respostas

  • Olá, Tiago.

    Sendo o model da sua página a classe Usuario, o que você precisa fazer é alterar o código do DropDownList para:

    <%: Html.DropDownListFor(model => model.Pais, ViewData["Paises"] as SelectList, "Selecionar...")%>
    

    No Data Annotations, para validar o atributo, utilize o [Required].

    Abraços,


    Paulo Castilho - www.paulocastilho.com.br
    segunda-feira, 2 de maio de 2011 17:20
  • uma dúvida. quando chamar o submit e acionar o método http como eu pego o pais selecionado?

    fiz o teste usando o exemplo acima e ta dando erro dizendo que não existe a view data.

    vlw.

    quinta-feira, 3 de abril de 2014 16:52