使用Validation Application块,有以下功能:
我计划使用DataAnnotations来替换Validation应用程序块。 DataAnnotations可以实现上述目标吗?如果是这样,我如何实施它们?
感谢任何帮助
答案 0 :(得分:1)
是的,他们是可能的。
创建一个非常简单的自定义属性;
public class IsApplicantOldEnoughAttribute : ValidationAttribute
{
public override bool IsValid(object value)
{
if (value == null) return false;
DateTime enteredDate;
try
{
enteredDate = (DateTime)value;
}
catch
{
return false;
}
if ((DateTime.Today.Year - enteredDate.Year) >= 14)
return true;
else
return false;
}
}
从配置文件中读取与从配置文件中读取的任何代码相同。
不确定你的自我验证是什么意思。你可以请我填一下,我会试着举个例子。
答案 1 :(得分:0)
您可以简单地将 IValidatableObject 接口添加到您的类型:
public class MyClass : IValidatableObject {
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
return ...
}
}
这适用于 ValidationContext 等。