/// <summary> /// Obtient une concaténation des messages d'erreur pour le nom du champ spécifié. /// </summary> public virtual string this[string columnName] { get { // L'objet n'a pas encore été validé if (_validationResults == null) { return(string.Empty); } ValidationResults filteredResults = new ValidationResults(); filteredResults.AddAllResults(_validationResults.Where(vr => vr.Key == columnName)); if (!filteredResults.IsValid) { //On renvoie la concaténation de toutes les erreurs sur la propriété "columnName" IEnumerable <string> messages = filteredResults .Flatten(vr => vr.NestedValidationResults) .Where(vr => vr.NestedValidationResults == null || !vr.NestedValidationResults.Any())//on prend seulement les feuilles de l'arbre .Select(vr => vr.Message); return(string.Join("|", messages)); } return(string.Empty); } }