Asp.net mvc ASP.NET MVC的编辑操作验证
以下代码有效。但问题是当我点击编辑链接编辑一个产品时,所有的文本框都被清除了,但错误消息仍然有效。之所以发生这种情况,是因为选择了强类型视图类,该类包含带有正则表达式的错误消息。该类也用于创建操作。问题是,如果文本保持为空或输入无效数据并且用户试图在这些条件下保存,我希望包含错误消息。如果可能,如何做到这一点。我正在使用VS2010、MVC、ADO.NETAsp.net mvc ASP.NET MVC的编辑操作验证,asp.net-mvc,Asp.net Mvc,以下代码有效。但问题是当我点击编辑链接编辑一个产品时,所有的文本框都被清除了,但错误消息仍然有效。之所以发生这种情况,是因为选择了强类型视图类,该类包含带有正则表达式的错误消息。该类也用于创建操作。问题是,如果文本保持为空或输入无效数据并且用户试图在这些条件下保存,我希望包含错误消息。如果可能,如何做到这一点。我正在使用VS2010、MVC、ADO.NET [HttpPost] public ActionResult Edit(int id, FormCollection collection,
[HttpPost]
public ActionResult Edit(int id, FormCollection collection,
ProductCategory editCategory)
{
if (!ModelState.IsValid)
{
return View(editCategory);
}
var categoryToUpdate = db.ProductCategories.First(m =>
m.ProductCategoryID == id);
ViewData.Model = categoryToUpdate;
TryUpdateModel(categoryToUpdate, new string[] { },
collection.ToValueProvider());
db.AddToProductCategories(editCategory);
db.SaveChanges();
return View("/");
}
你需要把你的模型送回去 如果视图名为“编辑”,则只需:
return View(editCategory);
我想出来了。我在编辑操作中编写了错误语法,它正在工作 嗨,是的,它就是这么做的。图像编辑表单中有两个文本框。一个用于类别名称和日期。如果我从类别名称的文本框中删除字符串并将其保留为空。然后从另一个文本框中删除日期。如果我试图保存详细信息,我会收到日期文本框的错误消息,说明需要填写,但另一个框不会显示错误消息。我说得通吗?