פורמט תאריך בINPUT type=date
-
אני משתמש בBootstrap 3 בקלאס datepicker וכן בטופס מגדיר את הtype כ date.
בטופס עריכת פרטי התרומה אני רוצה שהמשתמש יוכל לערוך את תאריך ההתחלה או הסיום.
הבעיה היא שהתאריך לא מוצג למשתמש אלא מוצג פורמט תאריך ריק, הסיבה היא :
The specified value "09/03/2016 00:00:00" does not conform to the required format, "yyyy-MM-dd".
העניין הוא שאני רוצה שלמשתמש יוצג הפורמט dd/mm/yy כי כך אנו רגילים להציג תאריכים ולא yyyy/mm/dd.
מה אפשר לעשות?
תודה רבה!זה הקוד:
<input class="form-control col-md-4 datepicker text-box single-line" data-val="true" data-val-date="The field תאריך התחלה must be a date." data-val-required="תאריך התחלה הינו שדה חובה." id="StartDonation" name="StartDonation" type="date" value="09/03/2016 00:00:00">
פורסם במקור בפורום CODE613 ב09/03/2016 12:15 (+02:00)
-
צריך שהeditorfor יעביר את הפורמט שהוא מבקש yyyy-mm-dd, ראה כאן איך: http://stackoverflow.com/a/30801647/1271037
מה שאתה רוצה בתצוגה זה כבר ניתן להגרה ברמת הפקד, ע"י האטריביוט data-date-format או גלובלית ע"י קוד$.fn.datepicker.defaults.format = "mm/dd/yyyy";
כך אני רואה כאן: http://bootstrap-datepicker.readthedocs.org/en/stable/
פורסם במקור בפורום CODE613 ב10/03/2016 14:17 (+02:00)
-
@דוד ל.ט.
צריך שהeditorfor יעביר את הפורמט שהוא מבקש yyyy-mm-dd, ראה כאן איך: http://stackoverflow.com/a/30801647/1271037
מה שאתה רוצה בתצוגה זה כבר ניתן להגרה ברמת הפקד, ע"י האטריביוט data-date-format או גלובלית ע"י קוד$.fn.datepicker.defaults.format = "mm/dd/yyyy";
כך אני רואה כאן: http://bootstrap-datepicker.readthedocs.org/en/stable/
הייתה לי בעיה שהוא כלל לא הציג לי את ה datepicker של bootstrap-datepicker (כלומר הוא הקפיץ חלון לבן ברוחב של כל המסך.. ולא היה בו כלום.. זה כנראה נבע מהתנגשות ספריות וכדו' כי לא הצלחתי לפתור את זה.. אחרי הרבה ניסיונות..).
כשהשתמשתי בdatepicker המובנה ב (כלומר: HTML5 (value=date אז זה עשה לי את הבעיה עם הפורמט ולא בדיוק הצלחתי לפתור (וגם הוא נראה קצת מכוער.. אז חיפשתי משהו אחר..)
בסוף מצאתי את - bootstrap-datetimepicker שעובד אצלי מצוין מבחינת נראות על המסך.. אך החסרון שלו שלא הצלחתי לבטל את הtime ויש מקומות אצלי שאין צורך בזה, ואז זה לא נותן להזין ערכים..
כך שמי שמכיר ספריה נוספת של datepicker שנראית נחמד ותומכת גם בעברית - אשמח לשמוע!!
תודה רבה ויישר כח!!פורסם במקור בפורום CODE613 ב22/03/2016 23:09 (+02:00)
-
@דוד ל.ט.
בסוף מצאתי את - bootstrap-datetimepicker שעובד אצלי מצוין מבחינת נראות על המסך.. אך החסרון שלו שלא הצלחתי לבטל את הtime ויש מקומות אצלי שאין צורך בזה, ואז זה לא נותן להזין ערכים..
תן לינק מדוייק לספרייה, וגם מה כוונתך "ואז הוא לא נותן להזין ערכים".
פורסם במקור בפורום CODE613 ב27/03/2016 14:28 (+03:00)
-
@דוד ל.ט.
בסוף מצאתי את - bootstrap-datetimepicker שעובד אצלי מצוין מבחינת נראות על המסך.. אך החסרון שלו שלא הצלחתי לבטל את הtime ויש מקומות אצלי שאין צורך בזה, ואז זה לא נותן להזין ערכים..
תן לינק מדוייק לספרייה, וגם מה כוונתך "ואז הוא לא נותן להזין ערכים".
הנה הלינק:
זה הכוונה..
שכיון שהערך המוזן הוא תאריך ושעה והוא החליט שזה צריך להיות רק תאריך..
כי בקוד הוא מוגדר כך:
public DateTime StartDonation { get; set; } ולמיטב ידיעתי זה תומך גם בשעה..פורסם במקור בפורום CODE613 ב27/03/2016 15:06 (+03:00)
-
עכשיו ניסיתי :lol:
זה עדיין מציג לי את אותה השגיאה..
זה נראה כאילו האתר שלי השתגע לחלק מהתאריכים הוא לא כותב את השגיאה, ולחלק כן..
כמו כן, אני רואה למרות שהוא מציג לי את השגיאה, ולכאו' זה אמור למנוע את שליחת הטופס לשרת,
שהרי אני משתמש בספריה jquery.validate.js, אך הם כן נשלחים, ומבחינת השרת הוא מקבל את התאריך הנכון ושומר אותו
(שעם זה אין לי בעיה.. רק בגלל שהמשתמש לא יודע שהטופס נשלח, כי מבחינתו העמוד לא מתרפרש והודעת השגיאה מוצגת.. הוא שולח את אותו טופס שוב ושוב...)
מה אני אמור לעשות?!?!?!?פורסם במקור בפורום CODE613 ב27/03/2016 19:45 (+03:00)
-
זה נראה כאילו האתר שלי השתגע לחלק מהתאריכים הוא לא כותב את השגיאה, ולחלק כן..
לכל התאריכים מהראשון בחודש (הלועזי..) ועד ה12 אין לו בעיה..
הבעיה מתחילה מה13 עד סוף החודש.
כנראה שהוא קורא אותו משום מה הפוך (שהראשון זה החודש והשני זה היום..) ולכן זה כך.
הבעיה היא שהגדרתי כמו שהסברת לי בתשובה למעלה:
גם עם האטריביוט הזה:[DisplayFormat(DataFormatString = "0{yyyy-MM-dd}", ApplyFormatInEditMode = true)] [Display(Name = "תאריך התחלה")] public DateTime StartDonation { get; set; }
וגם הרייזור:
@Html.TextBoxFor(model => model.StartDonation, "{0:yyyy-MM-dd}", new { @class = "form-control col-md-4 datepicker" } )
אני מנסה להבין מה קורה פה...
פורסם במקור בפורום CODE613 ב27/03/2016 20:58 (+03:00)
-
אחר עמל רב במשך הרבה שעות היום, עליתי על הבעיה שהייתה לי בספריה הראשונה- bootstrap-datepicker שבגללה הוצרכתי להשתמש בספריה datetimepicker שעשתה לי בעיות..
הבעיה הייתה התנגשות בהגדרות העיצוב עם הספריה bootsrap-rtl בקלאס בשם dropdown-menu
בספריה bootstrap-rtl ההגדרה שלו היא כך:.dropdown-menu{right:0;left:auto;float:left;text-align:right}
דבר שיוצר לי בעיות עם התצוגה של תפריט התאריך הנפתח שהוא מושך אותו לשני הצדדים ולא רואים כלום...
הבעיה היא שא"א למחוק את זה, כיון שזה נצרך עבור כל התפריטים הנפתחים..
לכן בקובץ הגדרות הCSS של bootstrap-datepicker דרסתי בסופו את הקלאס הנ"ל ושיניתי את ההגדרות שלו כך:.dropdown-menu{right:auto;left:auto;float:right;text-align:right}
ובא לציון גואל..
תודה רבה לכולם על העזרה!!
פורסם במקור בפורום CODE613 ב29/03/2016 00:10 (+03:00)