修改Startup类中的ConfigureServices方法:
public void ConfigureServices(IServiceCollection services) { services.AddControllers().AddFluentValidation(); services.AddTransient<IValidator<User>, UserValidator>(); }注意:这个地方的生命周期是 Transient。
这样,在调用注册接口的时候,会自动进行规则验证:
[HttpPost] public IActionResult Register(User newUser) { return Ok(); }然后,我们再尝试传入参数来调用接口:
{ "FirstName": "赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张", "LastName": "张" }很明显,验证不通过,接口会返回这样的错误信息:
{ "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1", "title": "One or more validation errors occurred.", "status": 400, "traceId": "|c4523c02-4899b7f3df86a629.", "errors": { "FirstName": [ "您的名字长度已经超出了限制!" ] } }希望对您有帮助,您可以在官方文档中找到更多的用法。
原文链接: https://www.code4it.dev/blog/fluentvalidation
最后欢迎扫码关注我们的公众号 【全球技术精选】,专注国外优秀博客的翻译和开源项目分享,也可以添加QQ群 897216102