2015-07-06 9 views
10

Nella mia pagina è presente un avviso relativo a un formato di data non valido, come si può vedere di seguito. L'avviso è generato dal componente DatePicker UI di Kendo. Non riesco a trovare soluzioni sul web, la mia app è localizzata pt-BR. Come risolvere questo problema.Kendo UI DatePicker Avviso sul formato data yyyy-MM-dd

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

Errore in Google Chrome:

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

devo usare il formato giorno-mese-anno per le mie esigenze del cliente.

risposta

2

aggiungere la proprietà Formato:

@(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

l'errore persiste, anche un provino con il DMY in .format, dal momento che la data è DMY. Ma senza successo. –

+1

L'errore è solo in Chrome? http://www.telerik.com/forums/support-input-error-using-latest-chrome-dev-build –

+0

Sì, solo in chrome, ma non sto usando canarino, sto usando Chrome, versione 43.0 .2357.130. –

14

ho trovato la soluzione:

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

Così jQuery fermare l'analisi di questo campo la data con il formato di default.

+0

Questo ha funzionato per me. Immagino che chrome stia prendendo 'type =" date "' e provando a fare il proprio data selettore, che genera l'avviso poiché non è un formato data valido supportato da chrome, anche se Kendo lo gestisce correttamente. – KallDrexx

+0

Questo lo ha inchiodato per me. Grazie. –

4

L'impostazione del tipo di campo su text impedisce al browser e jQuery Validator di trattarlo come una data. Questo è un po 'più pulito rispetto alla specifica di un formato di input non valido (come empty string).

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

Tuttavia, questo è ancora un po 'di hack - è solo sopprime la convalida fatto dal vostro browser e/o strumenti di validazione su campi data. La soluzione migliore (adatto per una correzione a lungo termine) è quello di garantire le stringhe di data che popolano questi campi data conformi alla HTML5 date field living standard enunciato nel ISO 8601, ad esempio, 2017-02-10

riferimento anche a questa domanda più recente, in particolare su Chrome ora richiedono formattazione corretta su campi data HTML5.

Kendo UI datepicker incompatible with Chrome 56

0

Basta aggiungere questo .HtmlAttributes(new { type = "text" })