我将Web.config
文件中的区域性更改为 es-CL,并且服务器端验证运行良好,但是当我尝试提交数据时,客户端验证会在 25/11/2016 等日期引发错误,因为它仍在使用英文日期格式,如 2016 年 11 月 25 日。
我发现这篇文章几乎相同,但用小数代替日期:MVC 3 jQuery Validation/globalizing of number/decimal field
问题是那里的所有答案都过时了,因为较新的全球化插件不再使用全球化文件,就像globalize.culture.es-CL.js
包中不存在一样。(或者我错过了什么?)
如何将客户端验证文化设置为 es-CL 或 es-MX?
这是我的查看代码:
<div class="form-group">
@Html.LabelFor(model => model.ReleaseDate, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@* i set the @type = "text" because i will use a Jquery DatePicker instead the browser's DatePicker, and the @class = datepicker adds the DatePicker. *@
@Html.EditorFor(model => model.ReleaseDate, new { htmlAttributes = new { @class = "form-control datepicker", @type = "text" } })
@Html.ValidationMessageFor(model => model.ReleaseDate, "", new { @class = "text-danger" })
</div>
</div>
该输入的模型:
[Display(Name ="Fecha de emisión")]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}",ApplyFormatInEditMode = true)]
public DateTime ReleaseDate { get; set; }
控制器动作:
public ActionResult Edit(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Movie movie = db.Movies.Find(id);
if (movie == null)
{
return HttpNotFound();
}
return View(movie);
}
谢谢。