IsValid(object value) has not been implemented by this class. The preferred entry point is GetValidationResult() and classes should override IsValid(object value, ValidationContext context).
模型验证时,创建自定义验证特性,报了这个错。
注:下面这个截图,是自定义的模型认证方式,在ASP.NET Core中API或MVC中看不到这个
## 错误原因
方法:protected virtual ValidationResult IsValid(object value, ValidationContext validationContext)
- 自定义验证特性方法没有覆写
public class ValidateExtensionAttribute : ValidationAttribute
{
}
- 自定义验证特性方法覆写错误
using System.ComponentModel.DataAnnotations;
namespace Surging.Core.CPlatform.DataAnnotationsExtension
{
public class ValidateExtensionAttribute : ValidationAttribute
{
//这样的写法是错误的 错误的 错误的
//protected override ValidationResult IsValid(object value, ValidationContext validationContext)
//{
//xxxx 业务代码
// return base.IsValid(value, validationContext);
//}
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
//xxxx 业务代码
return ValidationResult.Success;
}
}
}