Фон:
Перевірка моделі потрібна для забезпечення достовірності та правильності отриманих даних, які ми отримуємо, щоб ми могли зробити подальшу обробку цими даними. Ми можемо перевірити модель методом дії. Вбудовані атрибути перевірки - Порівняти, Діапазон, Регулярне вираження, Потрібно, StringLength. Однак у нас можуть бути сценарії, в яких нам потрібні атрибути перевірки, відмінні від вбудованих.
Спеціальні атрибути перевірки
public class EmployeeModel
{
[Required]
[UniqueEmailAddress]
public string EmailAddress {get;set;}
public string FirstName {get;set;}
public string LastName {get;set;}
public int OrganizationId {get;set;}
}
Щоб створити спеціальний атрибут перевірки, вам доведеться отримати цей клас з ValidationAttribute.
public class UniqueEmailAddress : ValidationAttribute
{
private IEmployeeRepository _employeeRepository;
[Inject]
public IEmployeeRepository EmployeeRepository
{
get { return _employeeRepository; }
set
{
_employeeRepository = value;
}
}
protected override ValidationResult IsValid(object value,
ValidationContext validationContext)
{
var model = (EmployeeModel)validationContext.ObjectInstance;
if(model.Field1 == null){
return new ValidationResult("Field1 is null");
}
if(model.Field2 == null){
return new ValidationResult("Field2 is null");
}
if(model.Field3 == null){
return new ValidationResult("Field3 is null");
}
return ValidationResult.Success;
}
}
Сподіваюся, це допомагає. Ура!
Список літератури