J'ai un modèle de vue comme celui qui est créé à partir de mon validateur.Vérification dynamique de chaque valeur KeyValuePair d'un modèle
public class ViewModel
{
public KeyValuePair<int, RuleType> Foo { get; set; }
public KeyValuePair<string, RuleType> Bar { get; set; }
}
Mon modèle de vue réelle a un champ de 20+. Une fois mes données validées, une liste générique de type ViewModel
est ensuite renvoyée dans ma vue MVC et traitée dans un rapport. Cependant, une demande de fonctionnalité a été lancée lorsque les utilisateurs souhaitent voir uniquement les modèles avec des erreurs et des avertissements, à l'exclusion des entités valides. RuleType
est un énumérateur. Un modèle est valide si toutes les valeurs de la paire de clés sont RuleType.Success
.
Est-il possible de faire une boucle dans chaque modèle et de vérifier le RuleType
sans avoir à vérifier manuellement chaque propriété? Ma fonction GetAllModelsWithErrors()
renvoie une liste de modèles non valides. Je crois que la réflexion pourrait être une solution mais je ne suis pas sûr que ce soit une bonne solution.
Vous pouvez enregistrer toutes les propriétés de votre ViewModel ou de réflexion d'utilisation. Vous pouvez les enregistrer par exemple via le mutateur 'set' de chaque propriété (vous obtiendrez ainsi une collection d'instances' KeyValuePair' et vous pourrez les valider). –