Pessoal,
Deve ser algo muito simples, mas que eu não consegui achar.
Quando dou o submit no formulario, ao receber na Action um objeto do tipo Produto, a categoria e CategoriaId vem vazios.
Segue código:
Action
[HttpPost] public ActionResult Adiciona(Produto produto) { int idDaInformatica = 1;
if(produto.CategoriaId.Equals(idDaInformatica) && produto.Preco < 100) { // nome do erro ModelState.AddModelError("produto.Invalido", "Informática com preço abaixo de R$ 100."); }
if (ModelState.IsValid) { ProdutosDAO produtosDao = new ProdutosDAO(); produtosDao.Adiciona(produto); ViewBag.produtos = produtosDao.Lista(); return RedirectToAction("Index", "Produto"); } else { CategoriasDAO categoriasDAO = new CategoriasDAO(); ViewBag.categorias = categoriasDAO.Lista(); ViewBag.Produto = produto; return View("Form"); } }
Cshtml
@Html.ValidationMessage("produto.Invalido") Nome @Html.ValidationMessage("produto.Nome")Preço Quantidade Descrição Categoria @foreach (var categoria in ViewBag.categorias) {
@categoria.Nome }