[ 
https://issues.apache.org/jira/browse/WW-5812?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Lukasz Lenart updated WW-5812:
------------------------------
    Summary: DateConverter rejects valid ISO yyyy-MM-dd dates when a 
lenient-only format matches first  (was: DateConverter silently misparses ISO 
yyyy-MM-dd dates under lenient locale or global patterns)

> DateConverter rejects valid ISO yyyy-MM-dd dates when a lenient-only format 
> matches first
> -----------------------------------------------------------------------------------------
>
>                 Key: WW-5812
>                 URL: https://issues.apache.org/jira/browse/WW-5812
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Core
>            Reporter: Lukasz Lenart
>            Priority: Major
>             Fix For: 7.5.0
>
>
> h2. Problem
> {{input type="date"}} always submits {{yyyy-MM-dd}}. When {{DateConverter}} 
> converts that value to {{java.util.Date}}, it tries the formats in this 
> order: the global {{struts.date.format}} pattern, then the locale date-time 
> and SHORT/MEDIUM/LONG date formats, and only then ISO {{yyyy-MM-dd}}. All of 
> these are lenient {{SimpleDateFormat}}s, so an earlier pattern with {{-}} 
> separators accepts the ISO string and returns a wrong date. No conversion 
> error is raised.
> ||Pattern source||Pattern||{{2026-10-24}} parses to||
> |{{struts.date.format=dd-MM-yyyy}}|{{dd-MM-yyyy}}|18 Apr 0030|
> |locale {{nl_NL}} SHORT|{{dd-MM-y}}|18 Apr 2030|
> |{{en_US}}, {{en_GB}}, {{de_DE}}, {{pl_PL}}|{{/}} or {{.}} separators|fails, 
> falls through to ISO (correct)|
> This already affects {{textfield type="date"}} bound to a {{java.util.Date}} 
> property, and it will affect {{datetextfield}} in the html5 theme (WW-5778).
> h2. Proposal
> When the submitted string matches the ISO local date (or date-time) shape 
> exactly, parse it as ISO before trying the global and locale patterns. Add 
> tests that cover the {{nl_NL}} locale and a {{dd-MM-yyyy}} global pattern, 
> and check that non-ISO input still goes through the existing order.
> Related: WW-5778



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to