【发布时间】:2017-10-31 22:41:25
【问题描述】:
我有一个模型:
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 月 1 日或 2017 年 1 月 1 日星期一。例如:我使用 Symfony,在 Symfony 中,我可以在框架验证表单之前更改控制器中的表单值。这就是我想用 asp.net core 做的事情。
我怎样才能只为 DateTime 字段执行此操作?
【问题讨论】:
-
链接返回 404。
-
我将链接设置为本地 en-en 而不是 en-us。现在好了。
标签: c# razor asp.net-core-2.0