如何在 Blazor 中将 InputDate 字段的默认值设置为 null?

How to set Default value as null for InputDate field in Blazor?

我的 Blazor 编辑表单中有很多 InputDate 字段。当我 运行 我的代码时,默认情况下它设置为 01/01/0001。我觉得有点奇怪。我觉得它应该默认设置为空白。这样当用户错过输入日期时会弹出错误(因为 OrderDate 设置为 Required)。 是否有任何 Blazor 方法或方法?

一些代码片段:

                <div class="form-group col">
                    <label>Order Date</label>
                    <InputDate @bind-Value="model.OrderDate" class="form-control" />
                    <ValidationMessage For="@(() => model.OrderDate)" />
                </div>

型号代码:

        [Required]
        [Display(Name = "OrderDate")]
        public DateTime OrderDate { get; set; }

Blazor 不是这里的罪魁祸首,它是 .net 的东西。 01-01-0001 是有效日期(DateTime.MinValuedefault(DateTime))。

您模型中的 属性 不可为空,因此您看到的是正确的。当您需要空值时,您必须更改模型:

//public DateTime OrderDate { get; set; }
  public DateTime? OrderDate { get; set; }

Blazor 支持可为 null 的值类型。