Arka fon:
Aldığımız verilerin geçerli ve doğru olduğundan emin olmak için model doğrulamaları gereklidir, böylece bu verilerle daha fazla işlem yapabiliriz. Bir eylem yönteminde bir modeli doğrulayabiliriz. Yerleşik doğrulama öznitelikleri, Karşılaştır, Aralık, RegularExpression, Gerekli, StringLength'dur. Bununla birlikte, yerleşik olanlar dışında doğrulama özniteliklerine ihtiyaç duyduğumuz senaryolarımız olabilir.
Özel Doğrulama Özellikleri
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;}
}
Özel bir doğrulama özniteliği oluşturmak için bu sınıfı ValidationAttribute'tan türetmeniz gerekir.
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;
}
}
Bu yardımcı olur umarım. Şerefe!
Referanslar