我正在.NET Core中按照Clean Architecture构建一个web应用程序。我有一个用于创建用户的用例类。每个用户都有一个作为id传入的角色。用例将调用用户存储库来创建用户。
目前,我正在使用FluentValidation来验证请求对象。它只是纯粹的检查,比如长度,而不是空的,等等
我的问题是,我不知道将验证逻辑放在哪里,以验证所提供角色的存在。验证器当前位于应用程序层。我打算把验证逻辑放在用户存储库中,但这听起来不对
你有什么想法吗?提前谢谢。
您应该使用Fluent Validation将其添加到验证器中。有一些选项可以制作自定义验证器,并使用Fluent Validation使其成为async
。
在存储库中创建用于检查角色的方法并不一定是错误的。但它应该在验证层与其他检查(如非空等(一起调用。
为了提高性能,请确保在所有其他验证通过后调用检查。