Arrière-plan:
Modèle de validations sont nécessaires pour assurer que les données reçues que nous recevons est valide et correct afin que nous puissions faire le traitement de ces données. On peut valider un modèle dans une méthode d'action. Les attributs de validation intégrés sont à Comparer, Plage, RegularExpression, Requis, StringLength. Cependant, nous pouvons avoir des scénarios où nous avons exigé de la validation des attributs autres que le construit en.
Personnalisé Attributs De Validation
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;}
}
Pour créer un attribut validation, vous aurez à dériver cette classe de 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;
}
}
Espérons que cette aide. Cheers !
Références