【问题标题】:Accept Date and Time ("MM/dd/yyyy hh:mm:ss") as valid input接受日期和时间(“MM/dd/yyyy hh:mm:ss”)作为有效输入
【发布时间】:2020-03-31 03:06:47
【问题描述】:

我在验证日期时间时遇到问题,我的班级中有一个属性,我希望这个属性也能接收日期和时间的值。示例:dd/mm/yyyy hh:mm:ss。

这是我的模特:

public class Period
{
    [Display(Name = "Begin Date:")]
    [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy hh:mm:ss}")]
    [DataType(DataType.DateTime, ErrorMessage = "Invalid Format")]
    public DateTime BeginDate { get; set; }
}

这是cshtml:

    @model WebSample.Models.Period

    <form action="Index">
        <div class="form-group">
            @Html.EditorFor(model => model.BeginDate, new { htmlAttributes = new { @class = "form-control", @data_type = "datetime" } })
            @Html.ValidationMessageFor(model => model.BeginDate, "", new { @class = "text-danger" })
        </div>
        <div class="form-group">
            <input type="submit" value="Create" class="btn btn-primary" />
        </div>
    </form>

当我发短信11/09/2018 时,它不会抱怨任何事情,但是当我发短信11/09/2018 11:51:00 时,它会触发The field Begin Date must be a date

我想接受格式为dd/mm/yyyy hh:mm:ss的输入

【问题讨论】:

  • 欢迎来到 Stack Overflow。请提供一个最小、完整和可验证的示例:stackoverflow.com/help/mcve 您也可以考虑减少标签。这个问题看起来很具体,你有很多不相关的标签。
  • 谢谢,我已在问题中添加了更多详细信息并删除了不必要的标签。

标签: c# asp.net-mvc


【解决方案1】:

我认为你应该写:

@Html.EditorFor(model => model.BeginDate, new { htmlAttributes = new { @class = "form-control", @data_type = "datetime" } })
@Html.ValidationMessageFor(model => model.BeginDate, "", new { @class = "text-danger" })

【讨论】:

  • 谢谢。我忘了翻译部分问题。已编辑。
  • [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "0:dd/MM/yyyy}")] 试试这个。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-07
  • 1970-01-01
  • 2015-06-01
  • 2015-10-08
  • 2015-11-03
  • 2017-08-21
相关资源
最近更新 更多