如何解决用 ControllerBase.TryValidateModel
为了进行单元测试,我需要手动验证各种对象的数据注释属性。
我知道我可以使用 Validator.TryValidateObject
。问题是它不能递归地工作。
我尝试使用 ApiController
。它运行良好,但 ApiController
对于较新版本的 .NET 已过时。我不在乎,但我需要在工作中使用此功能。
public class ValidationController : ApiController
{
public ValidationController()
{
this.Request = new HttpRequestMessage();
this.Request.SetConfiguration(new HttpConfiguration());
}
public bool IsValid<T>(T modelToValidate)
{
this.ModelState.Clear();
this.Validate(modelToValidate);
return this.ModelState.IsValid;
}
}
我用 ValidationController
重新创建了 ControllerBase
。
我尝试使用它的 TryValidateModel()
。但我无法初始化该类以使该方法起作用。
您知道如何初始化 ControllerBase
以使验证生效吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。