1

我将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);
        }

谢谢。

4

0 回答 0