自定义验证属性
在验证一些非通用数据验证规则时,例如确保需要字段或某些值范围,但它们特定于你的业务逻辑,那么你可以创建自己的自定义验证器。要创建自定义验证属性,你只需要 inherit ValidationAttribute 类和 override 它的 IsValid 方法。该 IsValid 方法采用两个参数,第一是命名为 value 一个 object 和第二个是一个命名为 validationContext ValidationContext object。Value 指的是你的自定义验证器要验证的字段的实际值。
假设你要通过 Custom Validator 验证 Email
public class MyCustomValidator : ValidationAttribute
{
private static string myEmail= "admin@dotnetfiddle.net";
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
string Email = value.ToString();
if(myEmail.Equals(Email))
return new ValidationResult("Email Already Exist");
return ValidationResult.Success;
}
}
public class SampleViewModel
{
[MyCustomValidator]
[Required]
public string Email { get; set; }
public string Name { get; set; }
}
Here is its DotNetFiddle Demo