none
Validar seleccion de un DropDownList mvc RRS feed

  • Pregunta

  • Hola buenas 

    Tengo un DropDownList y necesita que cuando le den guardar valide que haya seleccionado el estado en el DropDownList de ante mano gracias

    este es mi vista

    <div class="form-group">
     <label class="control-label col-md-2">Estado</label>
     <div class="col-md-10">
    @Html.DropDownList("IdEstado", null, htmlAttributes: new { @class = "form-control", id = "estado", required = "Seleccionar estado" })
    @Html.ValidationMessage("IdEstado")
    @Html.ValidationMessageFor(model => model.Internveciones.IdEstado)
    @Html.ValidationMessageFor(model => model.Internveciones.IdEstado, "", new { @class = "text-danger" })
    </div>
    </div>

    y asi lo cargo en el controlador

    int idIntervencion = orientacionView.Internveciones.IdIntervencion;
    ViewBag.IdEstado = new SelectList(bdEstado.GetFilter(x => x.TipoEstado == "Intervencion"), "IdEstado", "State", orientacionView.Internveciones.IdEstado);
    
    Gracias 


    Juan C. martinez

    viernes, 2 de febrero de 2018 20:21

Todas las respuestas

  • Buenas, estimado.

    Primero debes tener en tu modelo, el campo: [Required], Ejemplo:

                [Required] //Identifica un campo de carácter obligatorio
                public int IdEstado { get; set; }


    Seguidamente en tu controlador debes colocar la condición mediante un IF, en la accion POST del Create:

                if (IdEstado == 0)
                {
                    ModelState.AddModelError("IdEstado", "Seleccione un estado");
                }

    Y por último debes colocar en tu vista, el texto que deseas que aparezca de primero en tu DropDownList:

                @Html.LabelFor(model => model.IdEstado, "Estado")
                @Html.DropDownList("IdTitulo", null, "[Seleccione un estado...]" , htmlAttributes: new { @class = "form-control", @style = "width: 100%;max-width: 100%;" })
                @Html.ValidationMessageFor(model => model.IdEstado, "", new { @class = "text-danger" })
    Eso, amigo. Saludos.






    • Editado MaxLuna martes, 27 de marzo de 2018 23:11
    martes, 27 de marzo de 2018 23:10