5
我在驗證下面的代碼:FluentValidation通參數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");
有什麼辦法來betLimit值傳遞給WithMessage方法?我看到的唯一解決方案是將betLimit值設置爲ViewModel的某些屬性,然後使用funcs在WithMessage重載中訪問它。但它很醜。
其實betLimit檢索是基於MB的一些其他屬性。我只是試圖簡化一個例子,並使它有點錯誤 – SiberianGuy
但是betLimit裏面必須來自你的第二個例子嗎? – SiberianGuy
啊我不好,我專注於WithMessage部分。看起來你將不得不打兩次服務。如果兩個服務往返導致痛苦,可以將結果緩存在HttpContext中......但我無法想象有一種方法可以從Must規則中與WithMessage進行通信。 –