我编写了一个自定义的DataAnnotations
验证器(用于客户端和服务器):
public class CustomAttribute : ValidationAttribute, IClientModelValidator { /* ... */ }
然而,docs显示了另一种方法,使用三个类:
public class CustomAttribute : ValidationAttribute { /* ... */ }
public class CustomAttributeAdapter : AttributeAdapterBase<CustomAttribute> { /* ... */ }
public class CustomAttributeAdapterProvider : IValidationAttributeAdapterProvider { /* ... */ }
而且还必须在启动期间注册提供者:
services.AddSingleton<IValidationAttributeAdapterProvider, CustomAttributeAdapterProvider>();
我更简单的方法工作,我甚至不注册它在容器中.
为什么文档显示了更复杂的方法?我的方式是否有一些额外的特征或行为缺失?