我有一个发布到控制器的常规表单。日期必须以日/月/年格式输入,因为它是针对南美的应用程序。我强制将当前的文化 UI 设置为西班牙语-秘鲁。尝试使用 MVC 3 和 4 beta。
这是控制器代码:
[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 错误时,它们内部的区域性仍然设置为 en-US,即使我可以验证 CurrentThread.CurrentUICulture 设置为 es-PE。
如何使 ModelState 验证也发生变化?