gpt4 book ai didi

c# - asp.net core 2 - 特定领域的自定义模型绑定(bind)

转载 作者:太空宇宙 更新时间:2023-11-03 14:59:18 25 4
gpt4 key购买 nike

我有一个模型:

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.

我尝试了自定义绑定(bind)。但是要使用自定义绑定(bind),我必须像从那里一样手动设置字段值 enter link description here .但我只想设置日期值。

我在网络上看到很多关于设置区域设置的文章和帖子。但是我的问题不是本地的。因为我使用自己的日期格式,例如:2017 年 1 月 1 日或 2017 年 1 月 1 日星期一。例如:我使用 Symfony,在 Symfony 中,我可以在框架验证表单之前更改 Controller 中的表单值。这就是我试图用 asp.net core 做的。

我怎样才能只对 DateTime 字段执行此操作?

最佳答案

我不认为 c# DateTime 可以自动解析你的格式,因为语言格式不同。如果浏览器语言设置正确,输入的表格应该会自动转换格式。但是,在您的示例中,第一个日期输入中没有 type,这可能就是它甚至不尝试解析的原因。

有一个新的 date 输入类型,它删除了时间元素。如果您使用它,您的用户将获得一个日期选择器,而不是输入一个字符串。

关于c# - asp.net core 2 - 特定领域的自定义模型绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47045547/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com