Re: What Are the Causes For Validation to Throw ClassCastException?
Caroline Jen wrote: Do not understand the 'HTTP Status 500 - java.lang.ClassCastException org.apache.struts.validator.DynaValidatorForm.validate(DynaValidatorForm.java:141)' 1. I have this plug-in by the very end of the struts-config.xml file: plug-in className=org.apache.struts.validator.ValidatorPlugIn set-property property=pathnames value=/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml/ /plug-in 2. I have this action mapping in the struts-config.xml file: action path=/content/UpdateTitle type=org.dhsinfo.content.doSomething1 name=editTitleForm scope=request validate=true input=.frame.content forward name=success path=.title.Confirmation/ /action 3. I have this form-bean inside the form-beans element in the struts-config.xml file: form-bean name=editTitleForm type=org.apache.struts.validator.DynaValidatorForm form-property name=page type=java.lang.String/ form-property name=title type=java.lang.String/ /form-bean 4. I have the validation.xml file in the AppName/WEB-INF directory 4.1. I changed the beginning of the validation.xml file to http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd; ): 4.2 my validation.xml file code is shown below I got the HTTP Status 500 - Servlet.service() for servlet action threw exception java.lang.ClassCastException org.apache.struts.validator.DynaValidatorForm.validate(DynaValidatorForm.java:141) code: ?xml version=1.0 encoding=ISO-8859-1 ? !DOCTYPE form-validation PUBLIC -//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.0//EN http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd; form-validation global constant constant-namepostalCode/constant-name constant-value^\d{5}\d*$/constant-value /constant /global formset form name=editTitleForm field property=page depends=required arg0 key=request.page/ /field field property=title depends=required arg0 key=insert.title/ /field /form /formset /form-validation It appears as though the problem is with your use of a form-property called page - based on what I am seeing around line 141 of the DynaValidatorForm code, if you have a property named page, it MUST be an integer, otherwise classcastexception is thrown. I'm guessing this is to accomodate paged forms (aka wizards) Try changing the property to have another name, and I think it will fix your problem. Matt - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: What Are the Causes For Validation to Throw ClassCastException?
I have changed the property from 'page' to 'pg'. The ClassCastException problem is gone. However, the validation.xml that I put in the AppName/WEB-INF is not doing anything. In my action mapping (struts-config.xml), I did set validate=true and in my validation.xml, I have required set for the depends attribute for every single text field. depends=required I intentionally left every field in those forms blank and submit forms. But, the Struts did not give me any warning about that I leave text fields blank. --- Matt Bathje [EMAIL PROTECTED] wrote: Caroline Jen wrote: Do not understand the 'HTTP Status 500 - java.lang.ClassCastException org.apache.struts.validator.DynaValidatorForm.validate(DynaValidatorForm.java:141)' 1. I have this plug-in by the very end of the struts-config.xml file: plug-in className=org.apache.struts.validator.ValidatorPlugIn set-property property=pathnames value=/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml/ /plug-in 2. I have this action mapping in the struts-config.xml file: action path=/content/UpdateTitle type=org.dhsinfo.content.doSomething1 name=editTitleForm scope=request validate=true input=.frame.content forward name=success path=.title.Confirmation/ /action 3. I have this form-bean inside the form-beans element in the struts-config.xml file: form-bean name=editTitleForm type=org.apache.struts.validator.DynaValidatorForm form-property name=page type=java.lang.String/ form-property name=title type=java.lang.String/ /form-bean 4. I have the validation.xml file in the AppName/WEB-INF directory 4.1. I changed the beginning of the validation.xml file to http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd; ): 4.2 my validation.xml file code is shown below I got the HTTP Status 500 - Servlet.service() for servlet action threw exception java.lang.ClassCastException org.apache.struts.validator.DynaValidatorForm.validate(DynaValidatorForm.java:141) code: ?xml version=1.0 encoding=ISO-8859-1 ? !DOCTYPE form-validation PUBLIC -//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.0//EN http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd; form-validation global constant constant-namepostalCode/constant-name constant-value^\d{5}\d*$/constant-value /constant /global formset form name=editTitleForm field property=page depends=required arg0 key=request.page/ /field field property=title depends=required arg0 key=insert.title/ /field /form /formset /form-validation It appears as though the problem is with your use of a form-property called page - based on what I am seeing around line 141 of the DynaValidatorForm code, if you have a property named page, it MUST be an integer, otherwise classcastexception is thrown. I'm guessing this is to accomodate paged forms (aka wizards) Try changing the property to have another name, and I think it will fix your problem. Matt - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] ___ Do you Yahoo!? Declare Yourself - Register online to vote today! http://vote.yahoo.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: What Are the Causes For Validation to Throw ClassCastException?
Do you also have /AppName/WEB-INF/validator-rules.xml? Without that the validation won't work. Also make sure that you have the proper version of the validator jar. Assuming those things are correct, take a look through your tomcat logs, I bet you are actually getting an error of some sort. Matt Caroline Jen wrote: I have changed the property from 'page' to 'pg'. The ClassCastException problem is gone. However, the validation.xml that I put in the AppName/WEB-INF is not doing anything. In my action mapping (struts-config.xml), I did set validate=true and in my validation.xml, I have required set for the depends attribute for every single text field. depends=required I intentionally left every field in those forms blank and submit forms. But, the Struts did not give me any warning about that I leave text fields blank. --- Matt Bathje [EMAIL PROTECTED] wrote: Caroline Jen wrote: Do not understand the 'HTTP Status 500 - java.lang.ClassCastException org.apache.struts.validator.DynaValidatorForm.validate(DynaValidatorForm.java:141)' 1. I have this plug-in by the very end of the struts-config.xml file: plug-in className=org.apache.struts.validator.ValidatorPlugIn set-property property=pathnames value=/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml/ /plug-in 2. I have this action mapping in the struts-config.xml file: action path=/content/UpdateTitle type=org.dhsinfo.content.doSomething1 name=editTitleForm scope=request validate=true input=.frame.content forward name=success path=.title.Confirmation/ /action 3. I have this form-bean inside the form-beans element in the struts-config.xml file: form-bean name=editTitleForm type=org.apache.struts.validator.DynaValidatorForm form-property name=page type=java.lang.String/ form-property name=title type=java.lang.String/ /form-bean 4. I have the validation.xml file in the AppName/WEB-INF directory 4.1. I changed the beginning of the validation.xml file to http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd; ): 4.2 my validation.xml file code is shown below I got the HTTP Status 500 - Servlet.service() for servlet action threw exception java.lang.ClassCastException org.apache.struts.validator.DynaValidatorForm.validate(DynaValidatorForm.java:141) code: ?xml version=1.0 encoding=ISO-8859-1 ? !DOCTYPE form-validation PUBLIC -//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.0//EN http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd; form-validation global constant constant-namepostalCode/constant-name constant-value^\d{5}\d*$/constant-value /constant /global formset form name=editTitleForm field property=page depends=required arg0 key=request.page/ /field field property=title depends=required arg0 key=insert.title/ /field /form /formset /form-validation It appears as though the problem is with your use of a form-property called page - based on what I am seeing around line 141 of the DynaValidatorForm code, if you have a property named page, it MUST be an integer, otherwise classcastexception is thrown. I'm guessing this is to accomodate paged forms (aka wizards) Try changing the property to have another name, and I think it will fix your problem. Matt - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: What Are the Causes For Validation to Throw ClassCastException?
Jen, DynaValidatorForm ALREADY has a page field so leave it out: http://struts.apache.org/api/org/apache/struts/validator/DynaValidatorForm.h tml As for your validation not working with pg that's because the validator uses the field name page to figure out which validations to test in multi-page validations. Additionally, WHY are you requiring a page field in your formset? It should be a hidden variable out of the view of the user so there is no need to validate it. Without it, the plugIn should assume page=0 and do the most basic of validations in your formset. Regards, David -Original Message- From: Caroline Jen [mailto:[EMAIL PROTECTED] Sent: Wednesday, September 22, 2004 4:16 PM To: Struts Users Mailing List Subject: Re: What Are the Causes For Validation to Throw ClassCastException? I have changed the property from 'page' to 'pg'. The ClassCastException problem is gone. However, the validation.xml that I put in the AppName/WEB-INF is not doing anything. In my action mapping (struts-config.xml), I did set validate=true and in my validation.xml, I have required set for the depends attribute for every single text field. depends=required I intentionally left every field in those forms blank and submit forms. But, the Struts did not give me any warning about that I leave text fields blank. --- Matt Bathje [EMAIL PROTECTED] wrote: Caroline Jen wrote: Do not understand the 'HTTP Status 500 - java.lang.ClassCastException org.apache.struts.validator.DynaValidatorForm.validate(DynaValidatorForm.jav a:141)' 1. I have this plug-in by the very end of the struts-config.xml file: plug-in className=org.apache.struts.validator.ValidatorPlugIn set-property property=pathnames value=/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml/ /plug-in 2. I have this action mapping in the struts-config.xml file: action path=/content/UpdateTitle type=org.dhsinfo.content.doSomething1 name=editTitleForm scope=request validate=true input=.frame.content forward name=success path=.title.Confirmation/ /action 3. I have this form-bean inside the form-beans element in the struts-config.xml file: form-bean name=editTitleForm type=org.apache.struts.validator.DynaValidatorForm form-property name=page type=java.lang.String/ form-property name=title type=java.lang.String/ /form-bean 4. I have the validation.xml file in the AppName/WEB-INF directory 4.1. I changed the beginning of the validation.xml file to http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd; ): 4.2 my validation.xml file code is shown below I got the HTTP Status 500 - Servlet.service() for servlet action threw exception java.lang.ClassCastException org.apache.struts.validator.DynaValidatorForm.validate(DynaValidatorForm.jav a:141) code: ?xml version=1.0 encoding=ISO-8859-1 ? !DOCTYPE form-validation PUBLIC -//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.0//EN http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd; form-validation global constant constant-namepostalCode/constant-name constant-value^\d{5}\d*$/constant-value /constant /global formset form name=editTitleForm field property=page depends=required arg0 key=request.page/ /field field property=title depends=required arg0 key=insert.title/ /field /form /formset /form-validation It appears as though the problem is with your use of a form-property called page - based on what I am seeing around line 141 of the DynaValidatorForm code, if you have a property named page, it MUST be an integer, otherwise classcastexception is thrown. I'm guessing this is to accomodate paged forms (aka wizards) Try changing the property to have another name, and I think it will fix your problem. Matt - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] ___ Do you Yahoo!? Declare Yourself - Register online to vote today! http://vote.yahoo.com - 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]