コントローラにPOSTされる通常のフォームがあります。南米向けのアプリなので、日付は日/月/年の形式で入力する必要があります。現在のカルチャUIをスペイン語(ペルー)に強制的に設定しています。MVC3および4ベータで試してみました。
コントローラコードは次のとおりです。
[HttpPost]
public ActionResult Create(EditPatientViewModel model)
{
Thread.CurrentThread.CurrentUICulture = new CultureInfo("es-PE");
if (ModelState.IsValid) {
// never reaches in here if date submitted as day/month/year
}
}
デバッグしてModelStateエラーを確認すると、CurrentThread.CurrentUICultureがes-PEに設定されていることを確認できますが、エラー内のカルチャはまだen-USに設定されています。
ModelState検証も変更するにはどうすればよいですか?