2015-10-02 24 views
1

我檢查有類似的問題,所有的話題,但我無法找到我在做什麼錯。C#MVC5 ValidationMessageFor使用jQuery的DateTimePicker扔「字段必須是日期。」

我的日期模式是:

[Display(Name = "StartDate")] 
[DataType(DataType.DateTime), DisplayFormat(DataFormatString = "{0:dd.mm.yy HH:mm}", ApplyFormatInEditMode = true)] 
public DateTime? DateFrom { get; set; } 

在我CSHTML文件是:

@Html.LabelFor(m => m.DateFrom) 
@Html.TextBoxFor(m => m.DateFrom, new Dictionary<string, object> { { "class", "form-control datetimepicker" } }) 
@Html.ValidationMessageFor(m => m.DateFrom) 

我使用的DateTimePicker插件 - http://xdsoft.net/jqplugins/datetimepicker/這使我對文本框的值中,我想格式,但驗證拋出 「字段StartDate必須是日期。」

檢查截圖

enter image description here enter image description here

的DateTimePicker實現:

$(".datetimepicker").datetimepicker({   
    dateFormat: 'dd.mm.yy', 
     timeFormat: 'HH:mm'    
}); 

也試過:

$.validator.addMethod('date', 
    function (value, element) { 
     if (this.optional(element)) { 
      return true; 
     } 
     var ok = true; 
     try { 
      $.datepicker.parseDateTime('dd.mm.yy HH:mm', value);    
     } 
     catch (err) { 
      ok = false; 
     } 
     return ok; 
    }); 

回答

0

你已經有了一個文化問題,主任。

要設置合適的培養您的日期,使用下面的代碼:

Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); 

en-US代表美國英語。替換用the correct string for your desired Culture.

+0

我試着將它添加到Web配置類似,這裏提到的:http://stackoverflow.com/questions/7216057/setting-culture-for-asp-net-mvc-application-on-vs-dev-server- and-iis 但它沒有幫助 – tonco

+0

您可以在實際日曆控件上設置文化嗎? –

+0

也試過你的方法Thread.CurrentThread.CurrentCulture =新的CultureInfo( 「SK-SK」);在Application_Start中的Global asax中 – tonco

0

我想你應該一分爲二控制器:
-One得到(只添加註釋[HTTPGET]),
多功能一體後(只需添加註釋[HttpPost])。

然後,您可以在POST方法寫一個personnalised誤差(與例如try catch塊)來添加你想要的信息。

相關問題