我有一个包含日期的下拉列表,值如下:
<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" />
如何才能获得正确的日期?
答案 0 :(得分:0)
通过添加这段Javascript来解决它:
$.validator.methods.date = function (value, element) {
return true;
};