我有一个自定义验证属性,用于检查以确保过去的生日至少为18年。如果单独的下拉列表选择了特定的状态,我现在需要将其更改为过去的19年。
是否可以动态更改自定义验证?这就是我目前使用的。
public class MyCustomDateAttribute: ValidationAttribute
{
public override bool IsValid(object value)
{
DateTime dt = (DateTime)value;
if (dt>= DateTime.Now.AddYears(-18)){
return false;}
return true;
}}}
以某种方式将-18更改为-19。
我知道这只是服务器端,没关系。
答案 0 :(得分:1)
在这种情况下,您应该覆盖并实施
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
validationContext参数是解决问题的关键。
完整的解决方案是http://cncrrnt.com/blog/index.php/2011/01/custom-validationattribute-for-comparing-properties