问题描述
我觉得我在使用 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 (将#修改为@)