我更新了使用.NET开发的一个FluentValidation v8.1.3框架项目中的包。当我更新项目中的包时,FluentValidation被升级为v11.1.0。此更新导致FluentValidation引发错误:
public static class Utility
{
public static void Validate(IValidator validator, object entity)
{
/* System.InvalidCastException */
var result = validator.Validate((IValidationContext) validator);
if (result.Errors.Count > 0)
{
throw new ValidationException(result.Errors);
}
}
}错误的详细信息如下:
System.InvalidCastException: 'Unable to cast object of type 'DevFramework.Business.ValidationRules.FluentValidation.CustomerValidator' to type 'FluentValidation.IValidationContext'.'我该如何解决这个问题?
发布于 2022-07-17 22:43:40
在当前版本的FluentValidation v11.1.0中,需要创建一个ValidationContext对象来修复此错误。
public static class Utility
{
public static void Validate(IValidator validator, object entity)
{
/* Notice that the ValidationContext object is created below. */
var context = new ValidationContext<object>(entity);
var result = validator.Validate(context);
if (result.Errors.Count > 0)
{
throw new ValidationException(result.Errors);
}
}
}https://stackoverflow.com/questions/73015854
复制相似问题