我将Web.config
文件中的文化更改为es-CL,并且服务器端验证工作正常,但是当我尝试提交数据时,客户端验证会在日期中引发错误喜欢25/11/2016,因为它仍然使用像11/25/2016那样的英文日期格式。
我发现这篇文章大致相同但是用小数代替日期: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);
}
感谢。