0

我有一个自定义验证属性,用于检查以确保生日至少是过去 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。

我知道这只是服务器端,没关系。

4

1 回答 1

1

在这种情况下,您应该覆盖并实施

protected override ValidationResult IsValid(object value, ValidationContext validationContext)

validationContext 参数是解决问题的关键。

完整的解决方案在http://cncrrnt.com/blog/index.php/2011/01/custom-validationattribute-for-comparing-properties

于 2013-08-06T19:17:57.980 回答