j'ai un filtre qui définit le CurrentUICulture du fil courant à une valeur tirée d'un cookieGet Filtre à exécuter avant la validation du modèle
et moi avons un modèle qui est en cours de validation à l'aide de la bibliothèque FluentValidation
[Validator(typeof(MyInputModelValidator))]
public class MyInputModel
public class MyInputModelValidator: AbstractValidator<MyInputModel>
{
public MyInputModelValidator()
{
var x = Thread.CurrentThread.CurrentUICulture.Name;
RuleFor(o => o.Country).NotEmpty().WithMessage(Resources.NoCountryError);
Je veux la culture de fil à modifier par ce point il tire la langue correcte pour le message d'erreur
Si je mets un point d'arrêt sur le validateur ci-dessus, je peux voir le fil a la culture mal.
Si je lance le code supplémentaire, il frappe alors un point de rupture sur le filtre qui change la culture du fil
Comment puis-je faire fonctionner le code de filtre avant que les coups de pied de validation du modèle dans
I ont essayé à la fois de décorer la méthode d'action du contrôleur avec l'attribut filter et de l'appliquer globalement
GlobalConfiguration.Configuration.Filters.Add(new LocalizationApiFilter());
c'est api web, pas Mvc, bien que les concepts sont les mêmes
des idées?
Le gestionnaire de messages fonctionne -thanks – ChrisCa
Y a-t-il des problèmes majeurs sur l'utilisation du filtre d'autorisation pour gérer cela ou est-ce simplement une mauvaise pratique? – user441365
La liaison de modèle se produit avant les filtres d'action, mais cela ne signifie pas que la validation doit également avoir lieu avant. C'est une erreur de conception, cela n'a pas de sens de forcer la validation à précéder les filtres d'action. En fait, le filtre peut révoquer la requête du client, donc la validation dans ce cas ne serait même pas nécessaire (surcharge inutile en raison de la façon dont ils l'ont construit). – Alisson