Datumsmodell in jQuery datepicker

8

Ich muss in der SQL-Server DB ein Datumsformat "29-12-2014" mit Datepicker speichern, bekomme aber die Nachricht Das Feld XXX muss ein Datum sein.

Mein letzter Versuch war Regulärer Ausdruck:

Modell # 1:

%Vor%

Modell # 2:

%Vor%

Anzeigen:

%Vor%

jQuery:

%Vor%

Ich bekomme immer die Nachricht "Das Feld ETD muss ein Datum sein."

Irgendeine Idee?

Danke.

    
Patrick 27.02.2014, 23:24
quelle

5 Antworten

7

Ich verstehe, dass das Format "TT-MM-JJJJ" hier das Problem ist. Die jquery unaufdringliche Validierung versucht, ein neues Date (strVal) -Objekt zu instanziieren, und es weiß nicht, was mit der Zeichenfolge '29 -12-2014 'zu tun ist.

Siehe Unauffällige Validierung in Chrome wird nicht validiert mit TT / MM / JJJJ

magritte antwortete, dass die Datumsmethode des unauffälligen Validators mit der jQuery Globalize-Bibliothek neu definiert wurde, um die gewünschte Formatzeichenfolge zu analysieren sollte das Problem lösen:

%Vor%

Aktualisieren

Ich habe Ihr Problem lokal neu erstellt und war in der Lage, das Feld "Erforderliche Feldvalidierung, das nicht vor dem Post-Update ausgelöst wird" zu replizieren, wenn die Globalisierungsbibliothek nicht installiert wurde. Sobald ich die Bibliothek installiert und geladen hatte, funktionierte das Front-End wie erwartet, mit einer unauffälligen Validierung, die das modifizierte TT-MM-JJJJ-Datum akzeptierte.

Die Bibliothek kann mit dem NuGet-Paket-Manager und dem folgenden Paket installiert werden: Ссылка . Dann müssen Sie Ihr HTML aktualisieren, um das Skript globeize.js einzuschließen.

Das Back-End war eine andere Geschichte, die sich auf das Globalisierungsprofil Ihrer lokalen Maschine verlassen wird. Ich gehe davon aus, dass Sie eine non-en / us-Maschine ausführen, auf der dieses Format möglicherweise analysiert wird? Meine Maschine ist Englisch / US und analysiert das modifizierte Datumsformat nicht nativ. Mit dem folgenden Befehl habe ich jedoch eine gültige Datetime erhalten:

%Vor%     
DanS 13.03.2014, 15:53
quelle
2

Dies sollte funktionieren, um Ihr Format in das Feld einzustellen:

%Vor%

Kommt die Validierungsnachricht von jQuery oder C #? Siehe diese Antwort in Bezug auf die ehemalige: Ссылка

    
Matthew 13.03.2014 15:39
quelle
2

Mit Hilfe von @DanS konnte ich eine Lösung für die Datumsüberprüfung für mein Land, Portugal (PT-PT) erarbeiten und hier ist die vollständige Lösung für alle, die ein Problem bei der Validierung eines Datums haben:

Zuerst müssen Sie das nuget-Paket installieren:

Ссылка

Fügen Sie dann auf der Seite, auf der Sie die Validierung vornehmen möchten (oder im Bundle wie ich), die Links zur Core-Bibliothek und der Kulturdatei Ihres Landes ein (Hinweis: Legen Sie immer zuerst die Core- und dann die Culture-Datei oder Sie wird einen undefinierten Fehler erhalten)

%Vor%

Legen Sie das Modell fest:

%Vor%

Ich habe keine ErrorMessage in die DataType-Eigenschaft geschrieben, da sie nicht an die View übergeben wurde, stattdessen können Sie eine benutzerdefinierte Nachricht in die Ansicht einfügen:

%Vor%

Wenn Sie jedoch die Funktion jQuery datepicker mit der Definition des Formats verwenden, müssen Sie sich keine Gedanken über das Format machen:

%Vor%

Die Eigenschaft changeYear besteht darin, ein Dropdown-Feld zur Auswahl des Jahres anzugeben (nicht obligatorisch, nur eine gute Option, um sicherzustellen, dass der Wert immer gültig ist). Vergessen Sie nicht, die Referenzen jQuery und jQueryUI in Ihrer Datei anzugeben der Kalender korrekt.

Um das clientseitige Skript abzuschließen, habe ich die Formatvalidierung der Kultur:

%Vor%

Ich habe auch eine Vorlage für das Datumsformat in der Ansicht (legen Sie sie im Ordner Shared / EditorTemplates / ab und vergessen Sie nicht, die @ Html.EditorFor-Methode in der Ansicht:

zu verwenden %Vor%

Verwenden Sie zu jeder Zeit, an der Sie ein Datum benötigen, das Template und die Klasse "datepicker", und das ist es!

Danke nochmal DanS;)

    
Patrick 14.03.2014 10:56
quelle
0
___ qstnhdr ___ Datumsmodell in jQuery datepicker ___ answer22383653 ___

Dies sollte funktionieren, um Ihr Format in das Feld einzustellen:

%Vor%

Kommt die Validierungsnachricht von jQuery oder C #? Siehe diese Antwort in Bezug auf die ehemalige: Ссылка

    
___ qstntxt ___

Ich muss in der SQL-Server DB ein Datumsformat "29-12-2014" mit Datepicker speichern, bekomme aber die Nachricht Das Feld XXX muss ein Datum sein.

Mein letzter Versuch war Regulärer Ausdruck:

Modell # 1:

%Vor%

Modell # 2:

%Vor%

Anzeigen:

%Vor%

jQuery:

%Vor%

Ich bekomme immer die Nachricht "Das Feld ETD muss ein Datum sein."

Irgendeine Idee?

Danke.

    
___ answer22403077 ___

Mit Hilfe von @DanS konnte ich eine Lösung für die Datumsüberprüfung für mein Land, Portugal (PT-PT) erarbeiten und hier ist die vollständige Lösung für alle, die ein Problem bei der Validierung eines Datums haben:

Zuerst müssen Sie das nuget-Paket installieren:

Ссылка

Fügen Sie dann auf der Seite, auf der Sie die Validierung vornehmen möchten (oder im Bundle wie ich), die Links zur Core-Bibliothek und der Kulturdatei Ihres Landes ein (Hinweis: Legen Sie immer zuerst die Core- und dann die Culture-Datei oder Sie wird einen undefinierten Fehler erhalten)

%Vor%

Legen Sie das Modell fest:

%Vor%

Ich habe keine ErrorMessage in die DataType-Eigenschaft geschrieben, da sie nicht an die View übergeben wurde, stattdessen können Sie eine benutzerdefinierte Nachricht in die Ansicht einfügen:

%Vor%

Wenn Sie jedoch die Funktion jQuery datepicker mit der Definition des Formats verwenden, müssen Sie sich keine Gedanken über das Format machen:

%Vor%

Die Eigenschaft changeYear besteht darin, ein Dropdown-Feld zur Auswahl des Jahres anzugeben (nicht obligatorisch, nur eine gute Option, um sicherzustellen, dass der Wert immer gültig ist). Vergessen Sie nicht, die Referenzen jQuery und jQueryUI in Ihrer Datei anzugeben der Kalender korrekt.

Um das clientseitige Skript abzuschließen, habe ich die Formatvalidierung der Kultur:

%Vor%

Ich habe auch eine Vorlage für das Datumsformat in der Ansicht (legen Sie sie im Ordner Shared / EditorTemplates / ab und vergessen Sie nicht, die @ Html.EditorFor-Methode in der Ansicht:

zu verwenden %Vor%

Verwenden Sie zu jeder Zeit, an der Sie ein Datum benötigen, das Template und die Klasse "datepicker", und das ist es!

Danke nochmal DanS;)

    
___ tag123c ___ C # (sprich "Cis") ist eine objektorientierte Programmiersprache auf hohem Niveau, die für die Erstellung einer Vielzahl von Anwendungen entwickelt wurde, die auf dem .NET Framework (oder .NET Core) ausgeführt werden. C # ist einfach, leistungsfähig, typsicher und objektorientiert. ___ tag123jquery ___ jQuery ist eine beliebte Cross-Browser-JavaScript-Bibliothek, die das DOM-Traversal (Document Object Model), die Ereignisbehandlung, Animationen und AJAX-Interaktionen erleichtert, indem die Diskrepanzen zwischen Browsern minimiert werden. Eine mit jQuery gekennzeichnete Frage sollte mit jquery in Zusammenhang stehen, daher sollte jquery von dem fraglichen Code verwendet werden, und mindestens eine jquery-nutzungsbezogene Elemente müssen in der Frage enthalten sein. ___ tag123aspnetmvc ___ Das ASP.NET MVC Framework ist ein Open-Source-Webanwendungsframework und Tooling, das eine auf Webanwendungen basierende Version des Model-View-Controller (MVC) -Musters implementiert und auf einer ASP.NET-Technologiegrundlage aufbaut. ___ antwort22383791 ___

Haben Sie diesen Link gesehen? Ich glaube, sie hatten ein ähnliches Problem: Das Felddatum muss ein Datum in mvc in sein Chrom

und auch dieser: Jquery Datepicker Chrome

    
___ tag123datepicker ___ Ein Datepicker ist ein Benutzeroberflächenelement in vielen Frameworks, das es einem Benutzer ermöglicht, ein Datum und manchmal auch Zeit zu wählen, oft über einen visuellen Kalender. ___ answer22383983 ___

Ich verstehe, dass das Format "TT-MM-JJJJ" hier das Problem ist. Die jquery unaufdringliche Validierung versucht, ein neues Date (strVal) -Objekt zu instanziieren, und es weiß nicht, was mit der Zeichenfolge '29 -12-2014 'zu tun ist.

Siehe Unauffällige Validierung in Chrome wird nicht validiert mit TT / MM / JJJJ

magritte antwortete, dass die Datumsmethode des unauffälligen Validators mit der jQuery Globalize-Bibliothek neu definiert wurde, um die gewünschte Formatzeichenfolge zu analysieren sollte das Problem lösen:

%Vor%

Aktualisieren

Ich habe Ihr Problem lokal neu erstellt und war in der Lage, das Feld "Erforderliche Feldvalidierung, das nicht vor dem Post-Update ausgelöst wird" zu replizieren, wenn die Globalisierungsbibliothek nicht installiert wurde. Sobald ich die Bibliothek installiert und geladen hatte, funktionierte das Front-End wie erwartet, mit einer unauffälligen Validierung, die das modifizierte TT-MM-JJJJ-Datum akzeptierte.

Die Bibliothek kann mit dem NuGet-Paket-Manager und dem folgenden Paket installiert werden: Ссылка . Dann müssen Sie Ihr HTML aktualisieren, um das Skript globeize.js einzuschließen.

Das Back-End war eine andere Geschichte, die sich auf das Globalisierungsprofil Ihrer lokalen Maschine verlassen wird. Ich gehe davon aus, dass Sie eine non-en / us-Maschine ausführen, auf der dieses Format möglicherweise analysiert wird? Meine Maschine ist Englisch / US und analysiert das modifizierte Datumsformat nicht nativ. Mit dem folgenden Befehl habe ich jedoch eine gültige Datetime erhalten:

%Vor%     
___ antwort22384598 ___

Bei der Lokalisierung Ihrer App gehen mehrere Dinge vor sich.

Dieser Phil Haack Artikel geht durch. Es ist ziemlich alt, aber ich denke alle Konzepte sind gleich.

    
___
ziggerman 13.03.2014 15:45
quelle
0
___ qstnhdr ___ Datumsmodell in jQuery datepicker ___ answer22383653 ___

Dies sollte funktionieren, um Ihr Format in das Feld einzustellen:

%Vor%

Kommt die Validierungsnachricht von jQuery oder C #? Siehe diese Antwort in Bezug auf die ehemalige: Ссылка

    
___ qstntxt ___

Ich muss in der SQL-Server DB ein Datumsformat "29-12-2014" mit Datepicker speichern, bekomme aber die Nachricht Das Feld XXX muss ein Datum sein.

Mein letzter Versuch war Regulärer Ausdruck:

Modell # 1:

%Vor%

Modell # 2:

%Vor%

Anzeigen:

%Vor%

jQuery:

%Vor%

Ich bekomme immer die Nachricht "Das Feld ETD muss ein Datum sein."

Irgendeine Idee?

Danke.

    
___ answer22403077 ___

Mit Hilfe von @DanS konnte ich eine Lösung für die Datumsüberprüfung für mein Land, Portugal (PT-PT) erarbeiten und hier ist die vollständige Lösung für alle, die ein Problem bei der Validierung eines Datums haben:

Zuerst müssen Sie das nuget-Paket installieren:

Ссылка

Fügen Sie dann auf der Seite, auf der Sie die Validierung vornehmen möchten (oder im Bundle wie ich), die Links zur Core-Bibliothek und der Kulturdatei Ihres Landes ein (Hinweis: Legen Sie immer zuerst die Core- und dann die Culture-Datei oder Sie wird einen undefinierten Fehler erhalten)

%Vor%

Legen Sie das Modell fest:

%Vor%

Ich habe keine ErrorMessage in die DataType-Eigenschaft geschrieben, da sie nicht an die View übergeben wurde, stattdessen können Sie eine benutzerdefinierte Nachricht in die Ansicht einfügen:

%Vor%

Wenn Sie jedoch die Funktion jQuery datepicker mit der Definition des Formats verwenden, müssen Sie sich keine Gedanken über das Format machen:

%Vor%

Die Eigenschaft changeYear besteht darin, ein Dropdown-Feld zur Auswahl des Jahres anzugeben (nicht obligatorisch, nur eine gute Option, um sicherzustellen, dass der Wert immer gültig ist). Vergessen Sie nicht, die Referenzen jQuery und jQueryUI in Ihrer Datei anzugeben der Kalender korrekt.

Um das clientseitige Skript abzuschließen, habe ich die Formatvalidierung der Kultur:

%Vor%

Ich habe auch eine Vorlage für das Datumsformat in der Ansicht (legen Sie sie im Ordner Shared / EditorTemplates / ab und vergessen Sie nicht, die @ Html.EditorFor-Methode in der Ansicht:

zu verwenden %Vor%

Verwenden Sie zu jeder Zeit, an der Sie ein Datum benötigen, das Template und die Klasse "datepicker", und das ist es!

Danke nochmal DanS;)

    
___ tag123c ___ C # (sprich "Cis") ist eine objektorientierte Programmiersprache auf hohem Niveau, die für die Erstellung einer Vielzahl von Anwendungen entwickelt wurde, die auf dem .NET Framework (oder .NET Core) ausgeführt werden. C # ist einfach, leistungsfähig, typsicher und objektorientiert. ___ tag123jquery ___ jQuery ist eine beliebte Cross-Browser-JavaScript-Bibliothek, die das DOM-Traversal (Document Object Model), die Ereignisbehandlung, Animationen und AJAX-Interaktionen erleichtert, indem die Diskrepanzen zwischen Browsern minimiert werden. Eine mit jQuery gekennzeichnete Frage sollte mit jquery in Zusammenhang stehen, daher sollte jquery von dem fraglichen Code verwendet werden, und mindestens eine jquery-nutzungsbezogene Elemente müssen in der Frage enthalten sein. ___ tag123aspnetmvc ___ Das ASP.NET MVC Framework ist ein Open-Source-Webanwendungsframework und Tooling, das eine auf Webanwendungen basierende Version des Model-View-Controller (MVC) -Musters implementiert und auf einer ASP.NET-Technologiegrundlage aufbaut. ___ antwort22383791 ___

Haben Sie diesen Link gesehen? Ich glaube, sie hatten ein ähnliches Problem: Das Felddatum muss ein Datum in mvc in sein Chrom

und auch dieser: Jquery Datepicker Chrome

    
___ tag123datepicker ___ Ein Datepicker ist ein Benutzeroberflächenelement in vielen Frameworks, das es einem Benutzer ermöglicht, ein Datum und manchmal auch Zeit zu wählen, oft über einen visuellen Kalender. ___ answer22383983 ___

Ich verstehe, dass das Format "TT-MM-JJJJ" hier das Problem ist. Die jquery unaufdringliche Validierung versucht, ein neues Date (strVal) -Objekt zu instanziieren, und es weiß nicht, was mit der Zeichenfolge '29 -12-2014 'zu tun ist.

Siehe Unauffällige Validierung in Chrome wird nicht validiert mit TT / MM / JJJJ

magritte antwortete, dass die Datumsmethode des unauffälligen Validators mit der jQuery Globalize-Bibliothek neu definiert wurde, um die gewünschte Formatzeichenfolge zu analysieren sollte das Problem lösen:

%Vor%

Aktualisieren

Ich habe Ihr Problem lokal neu erstellt und war in der Lage, das Feld "Erforderliche Feldvalidierung, das nicht vor dem Post-Update ausgelöst wird" zu replizieren, wenn die Globalisierungsbibliothek nicht installiert wurde. Sobald ich die Bibliothek installiert und geladen hatte, funktionierte das Front-End wie erwartet, mit einer unauffälligen Validierung, die das modifizierte TT-MM-JJJJ-Datum akzeptierte.

Die Bibliothek kann mit dem NuGet-Paket-Manager und dem folgenden Paket installiert werden: Ссылка . Dann müssen Sie Ihr HTML aktualisieren, um das Skript globeize.js einzuschließen.

Das Back-End war eine andere Geschichte, die sich auf das Globalisierungsprofil Ihrer lokalen Maschine verlassen wird. Ich gehe davon aus, dass Sie eine non-en / us-Maschine ausführen, auf der dieses Format möglicherweise analysiert wird? Meine Maschine ist Englisch / US und analysiert das modifizierte Datumsformat nicht nativ. Mit dem folgenden Befehl habe ich jedoch eine gültige Datetime erhalten:

%Vor%     
___ antwort22384598 ___

Bei der Lokalisierung Ihrer App gehen mehrere Dinge vor sich.

Dieser Phil Haack Artikel geht durch. Es ist ziemlich alt, aber ich denke alle Konzepte sind gleich.

    
___
Eduardo Molteni 13.03.2014 16:15
quelle

Tags und Links