Hello, I cannot seem to get the validator to plug args into my messages. Everything else works (LogonForm.java/LogonAction.java,...).
When I run this basic test and click Submit with 3 empty fields, I get: {0} is required!{0} is required!{0} is required! Maybe somebody could kindly point out something obvious that I missed/don't (yet) get?! Thanks --Mike environment: Struts 1.2.4, Tomcat 5.0.28 struts-config.xml: </struts-config> ...... <plug-in className="org.apache.struts.validator.ValidatorPlugIn"> <set-property property="pathnames" value="/WEB-INF/validator-rules.xml, /WEB-INF/validation.xml"/> </plug-in> </struts-config> ApplicationResources.properties: ...... index.msg.username=User name index.msg.password=Password index.msg.group=Group errors.required={0} is required! LogonForm.java: ...... getters/setters ...... public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) { if (username.equals("user") && password.equals("pass") && group.equals("test")) { System.out.println("You may proceed with caution"); //console return null; } else { // the compiler tosses -deprecation errors but ActionErrors works (as opposed to ActionMessages...) ActionErrors errors = new ActionErrors(); if ( getUsername() == null || getUsername().length() < 1 ) { errors.add("username",new ActionError("errors.required")); } if ( getPassword() == null || getPassword().length() < 1 ) { errors.add("password",new ActionError("errors.required")); } if ( getGroup() == null || getGroup().length() < 1 ) { errors.add("group",new ActionError("errors.required")); } System.out.println("Your form submission has been rejected."); //console return errors; }}} validator-rules.xml: <form-validation> <global> <validator name="required" classname="org.apache.struts.validator.FieldChecks" method="validateRequired" methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, javax.servlet.http.HttpServletRequest" msg="errors.required"/> ...... </global> </form-validation> validation.xml: <form-validation> <global /> <formset> <form name="logonForm"> <field property="username" depends="required"> <arg0 key="User name" resource="false"/> </field> <field property="password" depends="required"> <arg0 key="index.msg.password"/> </field> <field property="group" depends="required"> <arg0 key="index.msg.group"/> </field> </form> </formset> </form-validation> index.jsp: ...... <body> <html:errors /> <h3><bean:message key="index.text1" /></h3> <html:form action="/logon"> <bean:message key="index.prompt.username" /> <html:text property="username" /><br /> <bean:message key="index.prompt.password" /> <html:password property="password" /><br /> <bean:message key="index.prompt.group" /> <html:text property="group" /><br /> <html:submit> <bean:message key="index.logon.submit" /> </html:submit> </html:form> </body> ......