[英]Correct way to disable model validation in ASP.Net Core 2 MVC
[英]Disable automatic model validation ASP.NET Core MVC
我有一个Save
方法,它获取传入的视图模型。在 Viewmodel 中,我有一堆自定义验证发生。
public class DealViewModel : IValidatableObject
{
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
}
}
public IActionResult SaveDeal(DealViewModel dealViewModel)
{
}
我想在命中 save 方法后运行验证,因为我需要从会话中获取信息更新视图模型然后进行验证。
这就是我验证的方式:
var isValid = Validator.TryValidateObject(dealViewModel, context, results, true);
但是我的代码在它甚至在控制器的SaveDeal
方法中之前就命中了验证方法。
有没有办法阻止它并在我准备好时强制验证?
可能重复: 在 ASP.Net Core 2 MVC 中禁用模型验证的正确方法
但这可能会有所帮助: https : //docs.microsoft.com/en-us/aspnet/core/mvc/models/validation?view=aspnetcore-3.1#disable-validation
基本上,添加一个继承 IObjectModelValidator 但对 Validate 方法不执行任何操作的新类。 还将其添加到依赖项注入容器中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.