を結合私はモデルがあります:asp.netコア2 - カスタムモデルは、特定のフィールドの
public class ChartFilter
{
[Required(ErrorMessage = "Tiene que especificar una fecha")]
[DataType(DataType.DateTime, ErrorMessage = "La fecha es invalido")]
[Display(Name = "Fecha desde")]
public DateTime dateFrom { get; set; }
[Required(ErrorMessage = "Tiene que especificar una fecha")]
[DataType(DataType.DateTime, ErrorMessage = "La fecha es invalido")]
[Display(Name = "Fecha hasta")]
public DateTime dateTo { get; set; }
}
マイハンドラ/アクション:
public void OnGetFilter([FromQuery(Name = "ChartFilterForForm")]ChartFilter chartFilter) {
if (ModelState.IsValid)
{
initComprobantes(chartFilter);
}
else {
initComprobantes();
}
}
マイ形式:
<form name="filter" class="form-horizontal">
<div asp-validation-summary="All"></div>
<div class="form-group">
<label class="col-lg-1" asp-for="ChartFilterForForm.dateFrom"></label>
<div class="col-lg-4">
<input class="form-control" asp-format="{0:d \de MMMM \de yyyy}" asp-for="ChartFilterForForm.dateFrom" />
</div>
<label class="col-lg-offset-2 col-lg-1" asp-for="ChartFilterForForm.dateTo"></label>
<div class="col-lg-4">
<input type="datetime" class="form-control" asp-format="{0:d \de MMMM \de yyyy}" asp-for="ChartFilterForForm.dateTo" />
</div>
</div>
<div class="form-group" style="margin-top: 30px">
<input asp-page-handler="Filter" class="btn btn-default btn-block" type="submit" value="Filtrar" />
</div>
</form>
問題は、aspは私が送った日付でモデルを自動的に検証できないということです。それは私にエラーThe value '4 de eneror de 2017' is not valid for Fecha desde.
を与えました。
私はカスタムバインディングを試しました。しかし、カスタムバインディングを使用するには、そこから手動でフィールド値を設定する必要がありますenter link description here。しかし、私はちょうど日付の値を設定したいです。
ロケールの設定に関する多くの記事や記事がウェブ上に表示されています。しかし、私の問題はローカルではありません。例えば、私は自分の日付形式を2017年1月またはmonday 1月2017年のように使用しているからです。たとえば、Symfonyを使用します。フレームワークがフォームを検証する前に、コントローラのフォーム値を変更できます。それはasp.netコアでやりたいことです。
DateTimeフィールドのみでこれを行うにはどうすればよいですか?
リンクが404を返しています。 –
私はen-usの代わりにローカルen-enにリンクを設定しました。今は大丈夫です。 – user3502626