自定义验证属性
在验证一些非通用数据验证规则时,例如确保需要字段或某些值范围,但它们特定于你的业务逻辑,那么你可以创建自己的自定义验证器。要创建自定义验证属性,你只需要 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