Oh interesting! Have you seen [1]? e.g. conversion error interceptor should be present in your interceptor stack. To debug, for example put a number field which is not a map and see if conversion error appears - I think you should also have fieldErrors tag in your jsp.
It seems your action also should be ValidationAware. Put a break-point at [2] and see if your code reaches there and what happens next. Regards. [1] https://struts.apache.org/core-developers/type-conversion.html#collection-and-map-support [2] https://github.com/apache/struts/blob/651eac2c57396aa11ee65002006b3123dd69cbb4/core/src/main/java/com/opensymphony/xwork2/interceptor/ConversionErrorInterceptor.java#L116 On 6/19/2019 10:35 PM, Prasanth Pasala wrote: > Hi Yasser, > > I think at run time you can add any type of objects you want to the map. > The checks are only at compile time on the data types of objects added > to Maps. > > Thanks, > Prasanth > > On 6/19/19 1:29 AM, Yasser Zamani wrote: >> Hi Prasanth, >> >> I'm surprised how you get non digit characters in your map while both >> key and value are not String! >> >> Regards. >> >>> -----Original Message----- >>> From: Prasanth <dbad...@pangburngroup.com> >>> Sent: Monday, June 17, 2019 8:52 PM >>> To: Struts Users Mailing List <user@struts.apache.org> >>> Subject: Invalid Field Value when using Map >>> >>> Hi, >>> >>> I have a form that uses maps to store data as shown below. When the >>> user enters >>> valid numbers it works as expected, but when user enters non digit >>> characters in >>> the text field a String object is saved in the map rather than >>> showing a "Invalid >>> field value for field <field name>" message which is done for basic >>> data types like >>> int/long/double. Is this something that struts has not implemented >>> for maps yet, >>> as the annotations provide the expected data type? >>> >>> @Element(value=java.lang.Double.class) >>> private HashMap<Long, Double> deferralAmountValue = new >>> HashMap<Long,Double>(); >>> @Element(value=java.lang.Double.class) >>> private HashMap<Long, Double> deferralPercentValue = new >>> HashMap<Long,Double>(); >>> >>> >>> Thanks, >>> Prasanth >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org >> For additional commands, e-mail: user-h...@struts.apache.org >> > >