提交后,DateTime的值不正确

时间:2013-07-24 14:14:59

标签: asp.net-mvc-4 localization

我有一个包含日期的下拉列表,值如下:

<select name="DayDate" id="DayDate" data-val-date="The field DayDate must be a date." data-val="true" style="display: inline-block;" class="input-validation-error">
    <option value="07/11/2013">donderdag 11 juli 2013</option>
    <option value="07/10/2013">woensdag 10 juli 2013</option>
    <option value="07/09/2013">dinsdag 9 juli 2013</option>
</select>

@Html.DropDownListFor(m => m.DayDate, Model.Days.Select(r => new SelectListItem
{
    Text = r.Date.Value.ToString("D"),
    Value = r.Date.Value.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture)
}))

但是当我提交时,我将于11月7日,10月7日或9月7日作为日期!

线程文化设置为NL-nl,这必须保持这种方式。

所以我考虑删除CultureInfo.InvariantCulture,但之后模型将不接受日期输入data-val将为false,并出现此错误:The field DayDate must be a date.

以下内容在web.config中设置

<globalization culture="nl-NL" uiCulture="nl-NL" />

如何才能获得正确的日期?

1 个答案:

答案 0 :(得分:0)

通过添加这段Javascript来解决它:

$.validator.methods.date = function (value, element) {
    return true;
};