2

私のMVC 3アプリケーションでは、fluent validation.

public class AccountModelValidator : AbstractValidator<AccountModel>
    {
        public AccountModelValidator()
        {
           m.NewPassword).WithMessage(Translator.Data["ConfirmPasswordValidation"]);
        }
    }

ローカリゼーションについては、 hereから見つけた例を使用していますが、すべての言語で同じ検証メッセージがあることがわかりました。

その理由は、バリデーターが言語を変更したことを認識していないためです。

どうすればこれを正しく行うことができますか?

多分私は WithLocalizedMessage を使用する必要がありますが、それは .resx でのみ機能します

4

1 に答える 1

1

WithLocalizedMessage がすべての言語に対して同じ値を返す場合、ほとんどの場合、カルチャはまだ設定されていません (これは、アクション ハンドラーがまだ実行されていない POST で発生します)。

解決策は、カルチャを別の場所に設定することです: 多言語 ASP.NET MVC Web アプリケーションの CurrentCulture を設定するのに最適な場所

于 2016-08-22T12:02:03.290 に答える