如何解决ASP.NET Core服务器端验证:System.NullReferenceException
在我的实体模型中,我具有必填属性:
[Required]
public string Occupation { get; set; }
我有一个OnPostAsync
方法,如果用户提交了无效信息,该方法将返回页面
if (!ModelState.IsValid)
{
return Page();
}
如果禁用javascript(运行服务器端验证)并提交带有空白“职业”字段的表单,则会出现以下错误:
An unhandled exception has occurred while executing the request.
System.NullReferenceException: Object reference not set to an instance of an object.
如果我改为返回RedirectToPage()
,一切都很好,但是我没有在客户端上显示错误消息。
Microsoft官方文档只是return Page()
。为什么我会遇到未处理的异常,如何在避免错误的同时在客户端上保留验证错误?
解决方法
创建您自己的自定义验证并检查该字段,即该字段是空白还是空白。
文档链接:https://docs.microsoft.com/en-us/aspnet/core/mvc/models/validation?view=aspnetcore-5.0 请参阅此视频:https://www.youtube.com/watch?v=o_AH2MGti0A
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。