【发布时间】:2012-06-23 14:42:47
【问题描述】:
我一直在模型实体上实现 IValidatableObject,并使用 Validate(ValidationContext) 执行验证,通常很复杂。
我可以使用 ValidationContext 来区分不同的验证场景吗?
例如以我有 3 个验证场景的用户模型为例:
- 注册 - 我想测试一封电子邮件是否唯一,并且已输入一小部分必填字段
- 更改详细信息 - 不同的电子邮件唯一性检查,注册后需要更多详细信息,此处不更改密码,因此不需要检查
- 更改密码 - 仅验证密码字段
这是一个适当的用途吗?如果是这样,如何确保在帖子之后和调用 Validate() 之前设置正确的 ValidationContext 属性?还是我应该采取完全不同的方法?
【问题讨论】:
-
我不明白你为什么要使用ValidationContext?
-
我真的在问它是否可以用于此目的。但是,如果这是不好的做法或者真的不打算用于识别“验证组”,那么请告诉我。