【发布时间】:2019-04-04 16:51:28
【问题描述】:
我有一个表单,我一直在使用标准的 [必需] 辅助标签进行验证。
我需要添加验证以查看条目是否已经在 AD 中,所以我使用了:
public async Task<IActionResult> OnPostAsync(){
if (!ModelState.IsValid)
{
return Page();
}
if (MyADClass.Exists(Model.id)){
Error = "An account already exists for" + Model.id;
return RedirectToPage(new { message = Error });
}
//Else do stuff
}
这种方法的问题在于它刷新了整个页面并丢失了当前表单中的值。在用户单击提交后执行验证但不丢失模型数据的最简单方法是什么?
【问题讨论】:
-
不能返回包含模型数据的页面吗?你可以在 MVC 中。例如。
return Page(model);. -
对于您的自定义错误,您实际上可以将其添加到模型状态集合中,然后它成为主要验证过程的一部分
-
我不认为返回 Page(model);剃刀页面中的有效语法是什么?我将错误添加到模型中 - 但前提是我可以将其传递回页面...
标签: asp.net ajax asp.net-core