Right, but the invoked Resources.getActionMessage() has calls inside it for the bundle in the current trunk: http://svn.apache.org/viewvc/struts/struts1/trunk/core/src/main/java/org/apa che/struts/validator/Resources.java?view=markup
It looks like it hasn't changed from the 1.2.X branch and it is definitely different compared to the 1.1.X branch. If you correct the problem to the Resources class you might want to submit it to JIRA. Regards, David -----Original Message----- From: Scott Van Wart [mailto:[EMAIL PROTECTED] Sent: Wednesday, August 16, 2006 1:30 PM To: Struts Users Mailing List Subject: Re: I can't put 'maxlength' validator values in my .properties file? David Friedman wrote: > I think you need to have at least Struts v1.2.8 unless you manually upgraded > the Commons Validator jar up to version 1.2.0. If I understand correctly, > validator versions before 1.2.0 (Struts < 1.2.8) don't actually make use of > the "bundle" attribute in your validator xml files. > > So, what version of Struts are you using (1.1.4?) and/or what version of the > Commons Validator are you using? Have you tried replacing the commons > validator jar? I think I read that some people have tried that for older > versions but I'm not positive. > Another issue is that the FieldChecks class is a part of Struts (1.2.9) and not the commons validator. The line where I would assume it should grab it from the resources bundle doesn't contain any resource references: /** * Checks if the field's length is less than or equal to the maximum value. * A <code>Null</code> will be considered an error. * * @param bean The bean validation is being performed on. * @param va The <code>ValidatorAction</code> that is currently being performed. * @param field The <code>Field</code> object associated with the current * field being validated. * @param errors The <code>ActionMessages</code> object to add errors to if any * validation errors occur. * @param validator The <code>Validator</code> instance, used to access * other field values. * @param request Current request object. * @return True if stated conditions met. */ public static boolean validateMaxLength(Object bean, ValidatorAction va, Field field, ActionMessages errors, Validator validator, HttpServletRequest request) { String value = null; if (isString(bean)) { value = (String) bean; } else { value = ValidatorUtils.getValueAsString(bean, field.getProperty()); } if (value != null) { try { int max = Integer.parseInt(field.getVarValue("maxlength")); // <---- RIGHT HERE if (!GenericValidator.maxLength(value, max)) { errors.add(field.getKey(), Resources.getActionMessage(validator, request, va, field)); return false; } } catch (Exception e) { errors.add(field.getKey(), Resources.getActionMessage(validator, request, va, field)); return false; } } return true; } So it's looking like I'm going to need to write my own validator. OH well.... - Scott --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]