0

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

<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-valwill be false,并出现此错误:The field DayDate must be a date.

以下是在 web.config 中设置的

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

我怎样才能得到正确的日期传递?

4

1 回答 1

0

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

$.validator.methods.date = function (value, element) {
    return true;
};
于 2013-07-25T18:36:28.697 回答