On 8/5/06, Bart Busschots <[EMAIL PROTECTED]> wrote:
Hi Niall,I don't seem to be able to get log output form the validator. Maybe I'm doing something wrong? This is my commons-logging.properties file: org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog org.apache.commons.logging.simplelog.defaultlog=debug org.apache.commons.logging.simplelog.showlogname=true org.apache.commons.logging.simplelog.showdatetime=true And this is my simplelog.properties file: org.apache.commons.logging.simplelog.log.org.apache.struts.validator=trace This is not producing any output from the validator at all so I set the default log level to debug and then I see this when I submit the form that is not being validated with no data at all entered (note that every field depends on required): [DEBUG] ModuleUtils - Get module name for path /do [DEBUG] ModuleUtils - Module name found: default [DEBUG] RequestProcessor - Processing a 'POST' for path '/mentor/createStudentGroupStep1' [DEBUG] RequestUtils - Looking for ActionForm bean instance in scope 'session' under attribute key 'createStudentGroupForm' [DEBUG] RequestUtils - Can recycle existing DynaActionForm instance of type 'createStudentGroupForm'?: true [DEBUG] RequestProcessor - Storing ActionForm bean instance in scope 'session' under attribute key 'createStudentGroupForm' [DEBUG] RequestProcessor - Populating bean properties from this request [DEBUG] BeanUtils - BeanUtils.populate(DynaActionForm[dynaClass=createStudentGroupForm,wikiText=,noStudents=,groupName=,groupType=MINORS,studentNames={}], {wikiText=[Ljava.lang.String;@c8d24, page=[Ljava.lang.String;@666b9, noStudents=[Ljava.lang.String;@4200d3, groupName=[Ljava.lang.String;@443251, groupType=[Ljava.lang.String;@438e8c}) [DEBUG] ConvertUtils - Convert string '' to class 'java.lang.String' [DEBUG] ConvertUtils - Convert string '' to class 'java.lang.String' [DEBUG] ConvertUtils - Convert string '' to class 'java.lang.String' [DEBUG] ConvertUtils - Convert string 'MINORS' to class 'java.lang.String' [DEBUG] RequestProcessor - Validating input form properties [DEBUG] RequestProcessor - Looking for Action instance for class vtie.portal.mentor.CreateStudentGroupPrepareAction [DEBUG] PropertyMessageResources - getMessage(en_US,unhandledException) [WARN] RequestProcessor - Unhandled Exception thrown: class java.lang.NumberFormatException To my un-trained eye this looks like the validator is being called but not doing what it should, i.e. throwing a wobbler when it gets no data in any field. The validation for the form in validation.xml is as follows: <form name="createStudentGroupForm"> <field property="groupName" page="1" depends="required, mask"> <var><var-name>mask</var-name><var-value>^[a-zA-Z]+[\w\ ]*$</var-value></var> <arg0 key="mentor.createStudentGroup.groupName.label"/> </field> <field property="noStudents" page="1" depends="required, integer"> <arg0 key="mentor.createStudentGroup.noStudents.label"/> </field> <field property="studentNames" page="2" depends="required"> <arg0 key="mentor.createStudentGroup.studentNames.label"/> </field> </form> Does any of this make sense to you and can you see anything odd in the traces above?
Validator is throwing a wobbler like you said. You have the DEBUG message from the RequestProcessor before it does validation - but there should be one after saying either there were errors or that everything was OK. You need to find out what the exception being thrown is for - create a custom DynaValidatorForm and trap the exception and get the cause. The other thing that someone else pointed out is that you have used the "page" attribute in your validation.xml, but not defined it as a property for your DynaValidatorForm - so maybe its something to do with that. Anyway the root of the problem is the exception being throw - find out what that is and it should shed a whole lot more light on the problem. Niall
Thanks, Bart. Niall Pemberton wrote: > Try turning on logging in debug mode, should give you more info about > what its doing. > > Niall > > On 8/3/06, Bart Busschots <[EMAIL PROTECTED]> wrote: >> I'm either missing something stupid (which is always possible) or I've >> managed to break the validator. I have an app that uses validator all >> over the place and it's working fine in all my other actions but for >> this one action it is simply not getting called. >> >> I can't see any difference between this action/form/validation and all >> the other ones that are working. >> >> This is the form: >> >> <form-bean name="createStudentGroupForm" >> type="org.apache.struts.validator.DynaValidatorForm"> >> <form-property name="groupName" type="java.lang.String" /> >> <form-property name="noStudents" type="java.lang.String" /> >> <form-property name="groupType" type="java.lang.String" /> >> <form-property name="wikiText" type="java.lang.String" /> >> <form-property name="studentNames" type="java.lang.String[]" /> >> </form-bean> >> >> This is the action: >> >> <action path="/mentor/createStudentGroupStep1" >> type="vtie.portal.mentor.CreateStudentGroupPrepareAction" >> name="createStudentGroupForm" scope="session" validate="true" >> input="/home/mentor/addStudentGroupForm.jsp"> >> <forward name="createAnonymous" >> path="/do/mentor/createAnonymousStudentGroup" /> >> <forward name="getStudentNames" >> path="/home/mentor/getStudentNamesForm.jsp" /> >> <forward name="fail" path="/home/mentor/addStudentGroupForm.jsp" /> >> </action> >> >> And this is the validation: >> >> <form name="createStudentGroupForm"> >> <field property="groupName" page="1" depends="required, mask"> >> <var><var-name>mask</var-name><var-value>^[a-zA-Z]+[\w\ >> ]*$</var-value></var> >> <arg0 key="mentor.createStudentGroup.groupName.label"/> >> </field> >> <field property="noStudents" page="1" depends="required, integer"> >> <arg0 key="mentor.createStudentGroup.noStudents.label"/> >> </field> >> <field property="studentNames" page="2" depends="required"> >> <arg0 key="mentor.createStudentGroup.studentNames.label"/> >> </field> >> </form> >> >> Can anyone see something obviously wrong there? >> >> Cheers, >> >> Bart. >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]

