我正在构建一个AspNet.Mvc 5项目,该项目使用Unity.Mvc进行依赖注入。
DI在我的控制器中工作正常。但是我现在需要在模型中使用我的一个服务中的函数,而且我不确定如何正确地执行此操作。
我有一个RegistrationViewModel,它实现了IValidatableObject接口。在我的IValidatableObject.Validate函数中,我希望能够从我的UserService调用一个函数来确定用户名/电子邮件是否可用。
我可以检查控制器操作,但这违背了使用IValidatableObject的目的,这意味着我不能再使用ModelState.IsValid来检查模型是否有效。
是否有最佳实践方式来完成我需要做的事情。我不想使用反模式,这会使维护变得更加困难,但我也犹豫是否要将额外的验证直接添加到我的控制器中,当它看起来应该是模型应该能做的事情时