none
Model.IsValid no funciona correctamente RRS feed

  • Pregunta

  • Hola buenas noches estoy aprendiendo como validar un form en MVC hice este pequeño ejemplo pero cuando el ModelIsValid continua hacia la vista no se detiene

    Hice este ejemplo y aqui si se detiene no se que sera lo que me falta gracias

    http://www.asp.net/mvc/overview/getting-started/introduction/getting-started

    Mi simple View

    @using (Html.BeginForm("Create2","Teacher",FormMethod.Post))
    {
        @Html.AntiForgeryToken()

        <div class="form-horizontal">
            <hr />
            @Html.ValidationSummary(true, "", new { @class = "text-danger" })
            <div class="form-group">
                @Html.Label("Nombre de usuario", htmlAttributes: new { @class = "control-label col-md-2" })
                <div class="col-md-10">
                    @Html.EditorFor(model => model.UserName, new { htmlAttributes = new { @class = "form-control" } })
                    @Html.ValidationMessageFor(model => model.UserName, "", new { @class = "text-danger" })
                </div>

            <div class="form-group">
                <div class="col-md-offset-2 col-md-10">
                    <input type="submit" value="Create" class="btn btn-default" />
                </div>
            </div>
        </div>

    }

      Mi simple controller

            [HttpPost]
            [ValidateAntiForgeryToken]
            public ActionResult Create2(AulaCR.Models.TeacherViewModels teacher)
            {
                var errors = ModelState.Values.SelectMany(v => v.Errors);

                if (ModelState.IsValid)
                {
                    Bl.TeacherBL logicTeacher = new Bl.TeacherBL();
                    bool result = logicTeacher.InsertTeacher(teacher);
                }


                return View();
            }

    Mi simple Model

    using System;
    using System.Collections.Generic;
    using System.ComponentModel.DataAnnotations;
    namespace AulaCR.Models
    {
        public class TeacherViewModels
        {
            [Required]
            public string UserName { get; set; }
        }
    }


    WAQ

    martes, 19 de abril de 2016 2:02

Respuestas

  • Hola,

    [-] ... hice este pequeño ejemplo pero cuando el ModelIsValid continua hacia la vista no se detiene

    Pero así sea válido el modelo te mostrará la vista porque no estás redireccionando a ningún lado.

          if (ModelState.IsValid)
                {
                    Bl.TeacherBL logicTeacher = new Bl.TeacherBL();
                    bool result = logicTeacher.InsertTeacher(teacher); 
    
                    return RedirectToAction("MiOtroAction");
                }
    
        return View();

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    • Marcado como respuesta warnerxp martes, 19 de abril de 2016 4:36
    martes, 19 de abril de 2016 2:45

Todas las respuestas

  • Hola,

    [-] ... hice este pequeño ejemplo pero cuando el ModelIsValid continua hacia la vista no se detiene

    Pero así sea válido el modelo te mostrará la vista porque no estás redireccionando a ningún lado.

          if (ModelState.IsValid)
                {
                    Bl.TeacherBL logicTeacher = new Bl.TeacherBL();
                    bool result = logicTeacher.InsertTeacher(teacher); 
    
                    return RedirectToAction("MiOtroAction");
                }
    
        return View();

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    • Marcado como respuesta warnerxp martes, 19 de abril de 2016 4:36
    martes, 19 de abril de 2016 2:45
  • Gracias por la ayuda ya funciona agregue los respectivos redirect y ya salen los validation messages tambien

    saludos


    WAQ

    martes, 19 de abril de 2016 4:37