ho il seguente codice nel validatore:FluentValidation parametro pass per withMessage
RuleFor(mb => mb.Amount).
Must((mb, amount) =>
{
var betLimit = _battlesService.GetBetLimit(mb.BattleId);
mb.Amount <= betLimit;
}).
WithMessage("Bet should be less than {0}", "bet limit value should be placed here");
C'è un modo per passare il valore betLimit metodo withMessage? L'unica soluzione che vedo è di impostare il valore betLimit su alcune proprietà di ViewModel e quindi accedervi in overload WithMessage con funcs. Ma è brutto.
realtà betLimit recupero si basa su alcune altre proprietà di mb. Ho solo provato a semplificare un esempio e ho fatto un po 'di torto – SiberianGuy
Ma dove punta betLimit dentro Deve provenire dal tuo secondo esempio? – SiberianGuy
Ah mio male, ero concentrato sulla parte WithMessage. Sembra che tu debba colpire quel servizio due volte. Se i due roundtrip di servizio causano dolore, è possibile memorizzare nella cache il risultato di ciò in HttpContext ... ma non riesco a immaginare che ci sia un modo per prendere qualcosa dalla regola Must per comunicare con la chiamata WithMessage. –