2015-07-06 9 views
10

Ich habe eine Warnung auf meiner Seite über ein ungültiges Datumsformat, wie Sie unten sehen können. Die Warnung wird von der Kendo UI DatePicker-Komponente generiert. Ich kann keine Lösungen im Web finden, meine App ist pt-BR lokalisiert. Wie man dieses Problem löst.Kendo UI DatePicker Warnung für Datumsformat JJJJ-MM-TT

<p>@(Html.Kendo().DatePicker().Name("periodoDocumento").Value(DateTime.Now))</p> 

Fehler in Google Chrome:

The specified value '06/07/2015' does not conform to the required format, 'yyyy-MM-dd'. 

muss ich Tag-Monat-Jahr-Format für meine Bedürfnisse der Kunden nutzen.

Antwort

2

das Format Eigenschaft hinzufügen:

@(Html.Kendo().DatePicker().Format("dd/MM/yyyy").Name("periodoDocumento").Value(DateTime.Now)) 

http://docs.telerik.com/kendo-ui/api/javascript/ui/datepicker#configuration-format

+0

Der Fehler bestehen bleibt, auch mit DMY in .format vorgesprochen, da das Datum DMY ist. Aber ohne Erfolg. –

+1

Liegt der Fehler nur in Chrome? http://www.telerik.com/forums/support-input-error-using-latest-chrome-dev-build –

+0

Ja, nur in Chrom, aber ich benutze nicht Kanarienvogel, verwende ich Chrome, Version 43.0 .2357.130. –

14

I-Lösung gefunden:

@(Html.Kendo().DatePicker().Name("periodoDocumento").Value(DateTime.Now).HtmlAttributes(new { @type = "" })) 

So wird jquery dieses Feld als Datum mit Standardformat stoppen Parsen.

+0

Das hat für mich funktioniert. Ich nehme an, Chrome nimmt das 'type =" date "' und versucht, seine eigene Datumsauswahl zu machen. Das generiert die Warnung, da es kein gültiges Datumsformat ist, das von Chrome unterstützt wird, obwohl Kendo es richtig behandelt. – KallDrexx

+0

Das hat es für mich genagelt. Danke. –

4

Wenn Sie den Feldtyp auf text setzen, wird der Browser und der jQuery Validator davon abgehalten, ihn als Datum zu behandeln. Dies ist ein wenig sauberer als ein ungültiges Eingabeformat anzugeben (wie empty string).

@(Html.Kendo().DatePicker() 
    .Name("DateFieldName") 
    .Value(Model.DateFieldName) 
    .HtmlAttributes(new { @type= "text"}) 
    ) 

Dies ist jedoch immer noch ein bisschen wie ein Hack - es unterdrückt nur die von Ihrem Browser getan Validierung und/oder Validierungstool auf Datumsfelder. Die bessere Lösung (geeignet für eine Korrektur langfristigen) ist die Datumszeichenketten, um sicherzustellen, diese Datumsfelder der HTML5 date field living standard im ISO 8601 buchstabierte entsprechen bevölkern, zB 2017-02-10

Auch diese neuere Frage verweisen, speziell über Chrome jetzt erforderlich korrekte Formatierung in HTML5-Datumsfeldern

Kendo UI datepicker incompatible with Chrome 56

0

Gerade dieses Add .HtmlAttributes(new { type = "text" })