清除表单时保存错误(MVC)
本文关键字:MVC 错误 保存 表单 清除 | 更新日期: 2023-09-27 18:02:21
我是使用MVC 5和。net框架4.5的新手,我遇到了一个问题。我有一个表单,我想在表单出错时重置表单的字段,但保留错误并显示给用户。目前我可以清除字段的错误,但这也摆脱了错误。我试过了
originalModel.field= "";
但这不会清除字段。我也试过只用
ModelState.Clear();
但是这个也没有做任何事情。
这是我目前正在处理的(它清除了所有内容):
if (!ModelState.IsValid)
{
TestModel blank= new TestModel();
ModelState.Clear();
return View("View.cshtml", blank);
}
如果您绝对需要这种行为,您可以将视图模型的此属性的值设置为Modelstate字典中的空字符串。
[HttpPost]
public virtual ActionResult Index(CreatePostVm model)
{
if (ModelState.IsValid == false)
{
ModelState["PostTitle"].Value =
new ValueProviderResult(string.Empty, string.Empty,CultureInfo.InvariantCulture);
return View(model);
}
// to do : Return something
}
上面的代码将CreatePostVm
视图模型的PostTitle
属性设置为空文本。因此,在您的视图中,输入字段将是一个空文本,同时仍然显示PostTitle
字段的验证错误消息。