使用数据注释无效的日期格式

时间:2012-08-31 11:49:09

标签: asp.net-mvc-3 datetime

我有这个带有以下数据注释的模型,因为我想以这种格式处理日期: dd.MM.yyyy

[DataType(DataType.Date)]
[DateRange(ErrorMessageResourceName = "DateBetween", ErrorMessageResourceType = typeof(WizardStrings))]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}")]
public DateTime? BirthDate1 { get; set; }

在视图中:

@Html.EditorFor(model => model.BirthDate1 )
@Html.ValidationMessageFor(model => model.BirthDate1)

MVC仍然使用以下格式呈现此日期:dd / MM / yyyy似乎不会考虑我的数据注释。

查看呈现的HTML:

<input class="text-box single-line valid" data-val="true" data-val-required="La date de naissance est requise!" id="BirthDate1" name="BirthDate1" type="text" value="**9/9/1999 12:00:00 AM**">

3 个答案:

答案 0 :(得分:5)

DataFormatString尝试添加ApplyFormatInEditMode = true

之前
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd.MM.yyyy}")] 

答案 1 :(得分:1)

您需要在DisplayFormat属性中包含ApplyFormatInEditMode = true

答案 2 :(得分:1)

 public string StartDate
        {
            get { return (startDateTime ?? new DateTime(1000, 01 ,01 )).ToString("G", DateTimeFormatInfo.InvariantInfo); }
        }

如果不适合你,请尝试其他格式