自定義驗證屬性
在驗證一些非通用資料驗證規則時,例如確保需要欄位或某些值範圍,但它們特定於你的業務邏輯,那麼你可以建立自己的自定義驗證器。要建立自定義驗證屬性,你只需要 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