C# Language Exécuter manuellement les attributs de validation


Exemple

La plupart du temps, les attributs de validation sont utilisés dans des frameworks (tels que ASP.NET). Ces frameworks prennent en charge l'exécution des attributs de validation. Mais que faire si vous voulez exécuter les attributs de validation manuellement? Utilisez simplement la classe Validator (pas de réflexion nécessaire).

Contexte de validation

Toute validation nécessite un contexte pour donner des informations sur ce qui est en cours de validation. Cela peut inclure diverses informations telles que l'objet à valider, certaines propriétés, le nom à afficher dans le message d'erreur, etc.

ValidationContext vc = new ValidationContext(objectToValidate); // The simplest form of validation context. It contains only a reference to the object being validated.

Une fois le contexte créé, il existe plusieurs façons de procéder à la validation.

Valider un objet et toutes ses propriétés

ICollection<ValidationResult> results = new List<ValidationResult>(); // Will contain the results of the validation
bool isValid = Validator.TryValidateObject(objectToValidate, vc, results, true); // Validates the object and its properties using the previously created context.
// The variable isValid will be true if everything is valid
// The results variable contains the results of the validation

Valider une propriété d'un objet

ICollection<ValidationResult> results = new List<ValidationResult>(); // Will contain the results of the validation
bool isValid = Validator.TryValidatePropery(objectToValidate.PropertyToValidate, vc, results, true); // Validates the property using the previously created context.
// The variable isValid will be true if everything is valid
// The results variable contains the results of the validation

Et plus

Pour en savoir plus sur la validation manuelle, voir: