2
我使用FluentValidation驗證輸入值。我正在使用一種方法來驗證來自數據庫的值,該值根據值的不同而返回不同的錯誤消息的整數值-1,-2和-3。如何根據方法的返回值顯示錯誤消息。我在類作用域中創建了一個變量,並設置了返回值,在下一個語句中,我嘗試了比較並嘗試顯示消息,但是我觀察到在更新值之前執行了下一條語句。FluentValidation一個屬性的多個錯誤消息
我想爲一個輸入值顯示不同的錯誤消息。
例如用戶輸入一個負值錯誤信息應該是「負值不允許」, 如果用戶輸入一個大的數值,那麼信息應該是「數字太長」。
這裏是代碼ISValidAction是驗證輸入並設置變量returnvalue的方法,此方法始終返回true。
int returnvalue = 0;
RuleFor(r => r.action).Must(ISValidAction).WithMessage("Action does not exist in the system.").When(r => !String.IsNullOrEmpty(r.action));
RuleFor(r => returnvalue).Must(r => !(returnvalue != 1 && returnvalue != -2 && returnvalue != -3)).WithMessage("");//for -1
RuleFor(r => returnvalue).Must(r => !(returnvalue != 1 && returnvalue != -1 && returnvalue != -3)).WithMessage("");//for -2
RuleFor(r => returnvalue).Must(r => !(returnvalue != 1 && returnvalue != -1 && returnvalue != -2)).WithMessage("");// for -3
我不知道爲什麼我得到的錯誤:無法從'方法組'轉換爲'Func' –
在哪一點? –
必須在Must()後添加.WithMessage(「{ValidationMessage}」)才能使其工作 – serg