我的服务层对象看起来像这样:
public class UserRepository
{
[Inject]
public IUnitOfWork Database { get; set; }
[Inject]
public IUserContext User { get; set; }
[Inject]
public IModelValidator ModelValidator { get; set; }
public Response CreateUser(UserDTO dto) {
if (ModelValidator.IsValid())
return new Response {SuccessCode = -1, Message = "Please check all properties"};
//Code to create the user goes here
}
public class Response {
public int SuccessCode {get; set;}
public string Message {get; set;}
}
}
我希望在我的服务层上执行验证,以便整个业务逻辑独立于MVC实现运行。
我希望使用DI注入MvcModelStateValidationWrapper,但是还没有找到一种方法来访问任何Controller上常用的ModelStateDictionary
。
有没有办法创建一个包装器并基于每个请求进行实例化?
我想要最终实现的是对我的单元测试执行模拟验证。