范围验证-对规则进行例外处理
本文关键字:处理 规则 验证 范围 | 更新日期: 2023-09-27 18:19:16
我有一个类的属性,它有一个范围属性。
[Required]
[Range(5, 9999)]
public double Price { get; set; }
在任何时候和任何用户输入时都要遵守。
但是在一个特定的代码路径上,我正在自动化一些条目,我希望能够将Price设置为0。所以我想通过编程告诉这个模型类忽略这个要求。
有可能吗?如果有,那是怎么回事?
这似乎是这个问题的重复,但也许我没有完全理解您的要求。
对于您的场景,我可能会尝试实现IValidatableObject接口,这样您就可以控制验证逻辑,而不是使用声明性验证模式。
我建议您创建一个System.ComponentModel.DataAnnotations.ValidationAttribute
的派生类型。实现可以类似于RangeAttribute类,但附加了异常值参数。
请查看这篇MSDN文章,了解如何做到这一点。