You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Boda Béla (JIRA)" <ji...@apache.org> on 2007/06/11 08:44:26 UTC
[jira] Updated: (STR-3051) FieldChecks.evaluateBean method is
absolutly wrong!!!
[ https://issues.apache.org/struts/browse/STR-3051?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Boda Béla updated STR-3051:
---------------------------
Summary: FieldChecks.evaluateBean method is absolutly wrong!!! (was: FieldChecks.evaluateBean method is absolutaly wrong!!!)
> FieldChecks.evaluateBean method is absolutly wrong!!!
> -----------------------------------------------------
>
> Key: STR-3051
> URL: https://issues.apache.org/struts/browse/STR-3051
> Project: Struts 1
> Issue Type: Bug
> Components: Core
> Affects Versions: 1.3.8
> Environment: Using with AndroMDA 3.2. Windows XP, Java 5.0
> Reporter: Boda Béla
> Priority: Critical
>
> The method below is wrong, because if a bean has a java.lang.Double field the validation is not working. The getValueAsString returns anything if the field is set. But if the user types sharacters in a double field the bean has a NULL value in that field, so this method returns null, that is wrong, because the typed string is not visible any more.
> Wrong method:
> private static String evaluateBean(Object bean, Field field) {
> String value;
> if (isString(bean)) {
> value = (String) bean;
> } else {
> value = ValidatorUtils.getValueAsString(bean, field.getProperty());
> }
> return value;
> }
> Good method to use:
> private static String evaluateBean(Object bean, Field field, HttpServletRequest request) {
> String value;
> if (isString(bean)) {
> value = (String) bean;
> } else {
> value = request.getParameter(field.getKey());
> }
> return value;
> }
> PS: Can't send a patch, sorry!
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.