Me estoy mojando los pies con Entity Framework y me pregunto si hay alguna manera de verificar el estado del modelo sin que ocurra la vinculación del modelo.¿Puedo verificar el modelo de estado sin vinculación de modelo?
Digamos que creo un usuario principalmente desde el código, ¿hay alguna manera de verificar que sea válido de acuerdo con mis anotaciones de datos predefinidas antes de actualizar?
public ActionResult Index()
{
User u = new User();
u.Username = "test";
u.Password = "test";
u.Email = "test";
DefaultContext db = new DefaultContext();
if (ModelState.IsValid)
{
db.Users.Add(u);
db.SaveChanges();
Response.Write(u.Id);
}
else
// model is not valid
return View();
}
El código anterior no funciona porque no ocurre ninguna vinculación. O tal vez estoy confundido del proceso.
Gracias.
aprendo algo nuevo cada vez que vengo aquí. No tenía conocimiento de la función ValidateModel(). La respuesta de Jayantha también es correcta y mucho más fácil si usa ASP.Net MVC. La respuesta que di funcionará fuera del contexto de un controlador. –
Lo anterior funciona muy bien al validar un modelo sin enviar un formulario, en cuyo caso el 'TryValidateModel' falla:' Cuando se valida un modelo, todos los validadores para todas las propiedades se ejecutan si al menos un formulario está vinculado a un modelo propiedad. Desde aquí: https://msdn.microsoft.com/en-us/library/system.web.mvc.controller.tryvalidatemodel(v=vs.118).aspx – Alex