白话Entity Framework Core数据验证( 六 )

public void ConfigureServices(IServiceCollection services) { services.AddMvc() .AddFluentValidation(p=> p.RegisterValidatorsFromAssemblyContaining<Startup>());

在需要验证数据的地方我们通过 ModelState 获取验证状态 , 验证通过就执行后续代码 , 不通过就执行处理代码 。 示例代码如下:

if(ModelState.IsValid) { //后续代码 else { //验证不通过处理代码

这里有一点需要注意 , 当传递的实体为 null 时 , 将返回错误信息 , 这是因为 AbstractValidator 中存在 EnsureInstanceNotNull 方法 , 这个方法在实例为 null 时会抛出异常 , 即使重写该方法也无法返回自定义的错误信息 。 如果需要验证实体集合就需要使用 RuleForEach 方法即可 , 对于自定义验证规则则可使用 SetValidator 方法 。

三、总结

本篇文章讲解了 EF Core 数据验证的方法 , 虽然讲的是 EF Core 的方法 , 但是同样也适用于 EF6 , 这些内容是常用的 , 上述部分代码可以在大部分项目中通用 。

推荐阅读