Chris Lynch
Top achievements
Rank 1
Chris Lynch
asked on 24 Mar 2010, 05:42 PM
I have read throught he forum and see that a number of people do not like the feature of the RadDatePicker auto correcting.
To rehash:
If I enter 13/12/2010 I DO NOT want the control to automatically change it to 12/13/2010.
I have tried adding the following:
To rehash:
If I enter 13/12/2010 I DO NOT want the control to automatically change it to 12/13/2010.
I have tried adding the following:
<telerik:RadScriptBlock runat="server"> |
<script type="text/javascript"> |
Telerik.Web.UI.RadDateInput.prototype.parseDate = function(value, baseDate) { |
if (new Date(value) != "NaN") |
return value; |
} |
</script> |
</telerik:RadScriptBlock> |
However, while this certainly causes the dates to no longer change it also prevents me from putting in VALID dates and prevents me from using the calendar control. I would appreciate any clarification I may be missing.
Thanks,
9 Answers, 1 is accepted
0
Hi Chris,
The RadDateInput (used internally by RadDatePicker) always uses a single DateFormat to parse the user input and a single DisplayDateFormat to display the parsed value. By default DisplayDateFormat is the same as the DateFormat. If your users will be entering dates like "dd/mm/yyyy", then it is recommended to set the same DateFormat to prevent autocorrection.
I am afraid it is not possible to force the control to display dates in different formats, depending on what the user has entered.
Greetings,
Dimo
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
The RadDateInput (used internally by RadDatePicker) always uses a single DateFormat to parse the user input and a single DisplayDateFormat to display the parsed value. By default DisplayDateFormat is the same as the DateFormat. If your users will be entering dates like "dd/mm/yyyy", then it is recommended to set the same DateFormat to prevent autocorrection.
I am afraid it is not possible to force the control to display dates in different formats, depending on what the user has entered.
Greetings,
Dimo
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
0
Chris Lynch
Top achievements
Rank 1
answered on 25 Mar 2010, 02:30 PM
Dimo,
Thanks for the reply. I tried what you suggested:
And it does not prevent autocorrection.
I think there may be a misunderstanding of what I want. I expect that my users should enter the date as "12/13/2010" for December 13th of 2010. If they accidentely enter an invalid date 13/12/2010 or 343221, whatever, if it is not in the format MM/dd/yyyy I do NOT want the date picker to try to GUESS what the user meant. It should leave it alone and I will validate it later.
The above changes I made still changes inputs when I tab out of the field. This is unacceptable and I need to find out how to change that behavior.
Thanks.
Thanks for the reply. I tried what you suggested:
<telerik:RadDatePicker ID="ctlDate" runat="server"> |
<DateInput DateFormat="MM/dd/yyyy" DisplayDateFormat="MM/dd/yyyy" |
runat="server"> |
</DateInput> |
</telerik:RadDatePicker> |
And it does not prevent autocorrection.
I think there may be a misunderstanding of what I want. I expect that my users should enter the date as "12/13/2010" for December 13th of 2010. If they accidentely enter an invalid date 13/12/2010 or 343221, whatever, if it is not in the format MM/dd/yyyy I do NOT want the date picker to try to GUESS what the user meant. It should leave it alone and I will validate it later.
The above changes I made still changes inputs when I tab out of the field. This is unacceptable and I need to find out how to change that behavior.
Thanks.
0
Accepted
Hi Chris,
What I meant to say is that you should set DateFormat in such a way, so that it matches the month/day order that the end-users will most probably use. I am afraid that the autocorrect functionality has been implemented on purpose and it cannot be prevented, unless you disable the whole parsing mechanism of the embedded DateInput control, which is the same as using a regular textbox.
http://www.telerik.com/community/forums/aspnet-ajax/calendar/raddatepicker-autocorrect.aspx
Regards,
Dimo
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
What I meant to say is that you should set DateFormat in such a way, so that it matches the month/day order that the end-users will most probably use. I am afraid that the autocorrect functionality has been implemented on purpose and it cannot be prevented, unless you disable the whole parsing mechanism of the embedded DateInput control, which is the same as using a regular textbox.
http://www.telerik.com/community/forums/aspnet-ajax/calendar/raddatepicker-autocorrect.aspx
Regards,
Dimo
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
0
Chris Lynch
Top achievements
Rank 1
answered on 30 Mar 2010, 02:14 PM
Thanks for the reply.
I will keep in mind that your product violates multipe user interface best practices so in the future I can be sure to not recommend it to clients.
I will implent this the correct way using jquery and strip this control from my application.
I will keep in mind that your product violates multipe user interface best practices so in the future I can be sure to not recommend it to clients.
I will implent this the correct way using jquery and strip this control from my application.
0
Chris,
So you don't want the RadDateInput control to guess and autocorrect, right? Suppose that you have set the following DateFormat -
dd/mm/yyyy
and the user enters 05/07/10 in the textbox. If you want to support both mm/dd/yyyy and dd/mm/yyyy formats at the same time, what date should be that?
Can you specify which best practice do we violate in the case that we are discussing?
Another thing - the DateInput control, which is internally used by RadDatePicker, intentionally tries to guess what the user has entered, because of popular demand. The purpose is to support partial dates, e.g. if you enter "july 5", the control will parse the input and assume that you mean "July 5 of the current year". That's why the control always splits the user input into parts, figures out which part is what, then constructs a date object and applies it to the textbox in the specified format.
http://www.telerik.com/help/aspnet-ajax/input_raddateinputparsing.html
Regards,
Dimo
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
So you don't want the RadDateInput control to guess and autocorrect, right? Suppose that you have set the following DateFormat -
dd/mm/yyyy
and the user enters 05/07/10 in the textbox. If you want to support both mm/dd/yyyy and dd/mm/yyyy formats at the same time, what date should be that?
Can you specify which best practice do we violate in the case that we are discussing?
Another thing - the DateInput control, which is internally used by RadDatePicker, intentionally tries to guess what the user has entered, because of popular demand. The purpose is to support partial dates, e.g. if you enter "july 5", the control will parse the input and assume that you mean "July 5 of the current year". That's why the control always splits the user input into parts, figures out which part is what, then constructs a date object and applies it to the textbox in the specified format.
http://www.telerik.com/help/aspnet-ajax/input_raddateinputparsing.html
Regards,
Dimo
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
0
Kazimierz Szadkowski
Top achievements
Rank 1
answered on 31 Mar 2010, 07:50 AM
In my opinion assumptions you described (july 5 thing) are useful and demanded. However, when user enters a date 29/02/2010 datepicker should not automatically correct it to 28/02/2010 (or at least such autocorrection should be optional). Maybe the date user was actually supposed to insert was 29/02/2012, which would be correct? With autocorrection user cannot realize there is a mistake. Another example: user inserts 31/04/2010, date picker automatically changes it to 30/04/2010. But user should have inserted 31/05/2010 - if incorrect date was simply validated, big red message or border would force user to reconsider. Now, he is doomed ;)
0
Hello Kazimierz,
The described behavior can be observed if you enter a day number larger than 31 - in this case the user input remains unchanged and is displayed in red color. We may consider adding the requested functionality in the future.
All the best,
Dimo
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
The described behavior can be observed if you enter a day number larger than 31 - in this case the user input remains unchanged and is displayed in red color. We may consider adding the requested functionality in the future.
All the best,
Dimo
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
0
Bill Witt
Top achievements
Rank 1
answered on 12 May 2010, 02:01 PM
Hi Chris,
I had a similar issue and fixed it by implementing a custom javascript datetime parser. Check out this post
Custom Javascript datetime parser which has a full working example and can be modified to handle any format.
Bill
I had a similar issue and fixed it by implementing a custom javascript datetime parser. Check out this post
Custom Javascript datetime parser which has a full working example and can be modified to handle any format.
Bill
0
Chris Lynch
Top achievements
Rank 1
answered on 17 Aug 2010, 03:00 PM
Thanks for understanding the issue Bill. I will check it out in case I run into this again.
I solved my problem by stripping out telerik controls and using jquery.
I solved my problem by stripping out telerik controls and using jquery.