如何解决ASP.Net MVC 服务器端中的 DataAnnotations 模型验证被忽略
我觉得我在使用 DataAnnotations 遇到的问题中遗漏了一些非常简单的东西,特别是对请求的模型验证,注释被忽略了。我会尽量简写:
在 React 应用程序客户端,Axios 将 JSON 对象发布到控制器 /api/create-account。模型绑定部分在其余代码执行时完美运行,但验证没有,这意味着目前此示例完全依赖客户端验证。
/models/requests 中的模型
CreateAccountRequest.cs
...
public class CreateAccountRequest {
[required]
public string Platform { get ; set; }
[required]
[MaxLength(40)]
public string Username { get ; set; }
...
}
/controllers/ 中的控制器
SignupController.cs
public class SignupController : Controller {
//DI etc ...
[HttpPost]
public JsonResult CreateAccount(CreateAccountRequest request) {
if (!ModelState.IsValid) return Json(new ErrorResponse(false,ModelState));
//...
}
}
在此示例中,用户名是必需的,但是,如果我使用空值发布到 CreateAccount 端点,它仍将 ModelState.IsValid 显示为 true
其他可能有用的信息 .NET 框架 4.6 .NET MVC 5
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。