MVC 5客户端验证文化

时间:2016-11-16 14:38:22

标签: jquery asp.net-mvc validation culture globalize

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

感谢。

0 个答案:

没有答案