Mam następujący kod w walidator:FluentValidation podał parametr 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");
Czy istnieje jakiś sposób, aby przekazać wartość betLimit metody WithMessage? Jedynym rozwiązaniem, które widzę, jest ustawienie wartości betLimit na pewną właściwość ViewModel, a następnie dostęp do niej w OverMessage przeciążenie funcs. Ale to jest brzydkie.
Właściwie betLimit pobieranie opiera się na niektórych innych właściwości mb. Po prostu próbowałem uprościć przykład i nieco go zepsułem. – SiberianGuy
Ale skąd betLimit wewnątrz musi pochodzić z twojego drugiego przykładu? – SiberianGuy
Ah my bad, byłem skoncentrowany na części WithMessage. Wygląda na to, że musiałbyś dwukrotnie trafić w tę usługę. Jeśli dwie obiegi serwisowe powodują ból, możesz buforować wynik tego w HttpContext ... ale nie mogę sobie wyobrazić, że istnieje sposób pobrania czegoś z reguły Must, aby komunikować się z wywołaniem WithMessage. –