ファイルのカルチャWeb.config
を es-CL に変更し、サーバー側の検証はうまく機能していますが、データを送信しようとすると、クライアント側の検証で 2016 年 11 月 25 日のような日付でエラーがスローされます。 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);
}
ありがとう。