【发布时间】:2022-01-11 20:24:51
【问题描述】:
我有一个 UpdateAccountRequest 对象,它代表一个 PUT 请求正文来更新现有的 Account 对象。目前,可以使用此端点更新的唯一属性是 Disabled 属性。为了确保调用者没有发送空的UpdateAccountRequest 请求,我使用IValidateObject 接口,如下所示:
public class UpdateAccountRequest: IValidatableObject
{
public bool? Disabled { get; set; }
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
if (!Disabled.HasValue)
{
yield return new ValidationResult("Disabled must be set");
}
}
}
但是,在未来,我计划向这个类添加更多属性,并且我想创建一个通用方法来验证调用者是否指定了至少 一个 更新属性。我可以通过检查所有实例的属性并检查它们的类型并查看它们是否不为空来使用反射来实现这一点,但我想知道框架中是否有一些东西可以实现这一点。
【问题讨论】:
标签: c# asp.net-mvc asp.net-core