Ah..Partial validations with simpleformcontroller.Well I think it is not possible because the simpleformcontroller does not support page attribute,I tried it a few days back and it never worked.Anywayz...I'm think i too need a little help to understand this...Is there any way to use page attribute with SFController...just let me know pls..
Czuczor Attila wrote: > > Hi. > > There is a "page" property for field in configuration XML. > Its value is an integer. If you create a wizard like page sequence (as > you did) you can configure with this param that what field is on what > page. > (Sorry for my ban english but I hope you can understand it.) > > I do not know how how can you set that which is the page beeing > validated because I have never created such thing but I think that it is > a good start point to find it on google the whole solution. > > Regards, > Attila > > > -----Original Message----- > From: javaant [mailto:[EMAIL PROTECTED] > Sent: Friday, July 27, 2007 5:17 PM > To: [EMAIL PROTECTED] > Subject: partial bean submission with SimpleFormController > > > hi , > I m struck up in a problem and need help badly......pls try to reply it > as > soon as possible.....please......... > my senarion is i hav 2 controllers(PersonController1.java & > PersonController2.java,both extending SimpleFormController). > one bean class(PersonData.java). > two jsps (person1.jsp,person2.jsp). > these two jsps dont use all the properties of PersonData.java. > person1.java uses 1st,last name property and person2.jsp uses email and > pwd. > > > now i want only server side validation....so i wrote the following > validator.xml > > > "validator.xml" > --------------- > <?xml version="1.0" encoding="UTF-8"?> > <!DOCTYPE form-validation PUBLIC > "-//Apache Software Foundation//DTD Commons Validator Rules > Configuration 1.1//EN" > "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd"> > > <form-validation> > <formset> > > <form name="personData"> > <field property="firstName" depends="required"> > <arg0 key="person.first.name" /> > </field> > <field property="lastName" depends="required">> > <arg0 key="person.last.name" /> > </field> > <field property="email" depends="required"> > <arg0 key="person.email" /> > </field> > <field property="password" depends="required"> > <arg0 key="person.password" /> > </field> > <field property="verifyPassword" > depends="validwhen"> > <arg0 key="person.password.not.matching" > /> > <var> > <var-name>test</var-name> > <var-value>(*this* == > password)</var-value> > </var> > </field> > </form> > </formset> > </form-validation> > > > but now the problem is.....even if i m able to do the server-side > validation > for both the jsps i am not able to submit the > form because in my 1st form person1.jsp i m not giving values for email > and > password but to pass validation test it requires these > two values also(according to my validator.xml)and same for other jsp. > now as the command class is same form both jsps i hav to use > formname="personData" > for both jsps for server side validation....but by doing so my any form > will not be submitted. > i m struck up in this please tell me the solution.......is it possible > if i > develop some logic in my respective controller > to supress the validation for properties that are not > entered.........if > yes then please > give me the required logic....or else any other way to solve the > problem... > > > validator-servlet.xml > --------------------- > <?xml version="1.0" encoding="ISO-8859-1"?> > > <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" > "http://www.springframework.org/dtd/spring-beans.dtd"> > > <beans> > > <!--================================= Message sources > ======================================--> > > <bean id="messageSource" > class="org.springframework.context.support.ResourceBundleMessageSource"> > <property name="basename" value="messages"/> > </bean> > > > > <!--================================== View Resolvers > =======================================--> > > <bean id="viewResolver" > class="org.springframework.web.servlet.view.InternalResourceViewResolver > "> > <property name="viewClass" > value="org.springframework.web.servlet.view.JstlView" /> > <property name="prefix" value="WEB-INF/jsp/" /> > <property name="suffix" value=".jsp" /> > </bean> > > > > <!--================================ Handler mappings > =====================================--> > > <bean id="handlerMapping" > class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> > <property name="mappings"> > <props> > <prop > key="/person1.html">personController1</prop> > <prop > key="/person2.html">personController2</prop> > <prop > key="/validator.js">jsValidatorController</prop> > </props> > </property> > </bean> > > <!-- > By default, if no handler mapping can be found in the > context, the > DispatcherServlet creates > a BeanNameUrlHandlerMapping < can't set priority > lower than other two > handlers > > --> > <bean id="beanHandlerMapping" > class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping > "> > <property name="order"> > <value>1</value> > </property> > </bean> > > <!--=================================== Controllers > ========================================--> > > <bean id="jsValidatorController" > class="org.springframework.web.servlet.mvc.UrlFilenameViewController"/> > > > > <bean id="personController1" > class="org.springmodules.samples.validation.commons.web.PersonController > 1"> > <property name="formView" value="person1"/> > <property name="successView" value="success"/> > <property name="validator" ref="beanValidator"/> > <property name="commandName" value="person"/> > <property name="commandClass" > value="org.springmodules.samples.validation.commons.web.PersonData"/> > > </bean> > > > > <bean id="personController2" > class="org.springmodules.samples.validation.commons.web.PersonController > 2"> > <property name="formView" value="person2"/> > <property name="successView" value="success"/> > <property name="validator" ref="beanValidator"/> > <property name="commandName" value="person"/> > <property name="commandClass" > value="org.springmodules.samples.validation.commons.web.PersonData"/> > </bean> > > > > > > <!--=================================== Commons Validator > =====================================--> > > > <bean id="beanValidator" > class="org.springmodules.validation.commons.DefaultBeanValidator"> > > <property name="validatorFactory" > ref="validatorFactory"/> > </bean> > > > > <bean id="validatorFactory" > class="org.springmodules.validation.commons.DefaultValidatorFactory"> > <property name="validationConfigLocations"> > <list> > > <value>/WEB-INF/validator-rules.xml</value> > <value>/WEB-INF/validator.xml</value> > </list> > </property> > </bean> > > > </beans> > Person1.jsp > ----------- > <%@ page session="true" %> > > <%@ include file="/WEB-INF/jsp/taglibs.jsp" %> > > <c:set var="ctx" value="${rc.contextPath}"/> > > <html> > > <script type="text/javascript" src="<c:url > value="/validator.js"/>"></script> > > <validator:javascript formName="personData" staticJavascript="false" > xhtml="true" cdata="false"/> > > <body> > > <h3>Personal informations1</h3> > > <spring:bind path="person.*"> > > <c:out value="${status.value}"/> > > > </spring:bind> > > <form action="" method="post" onsubmit="return > validatePersonData(this);"> > > <table> > > <tr> > <td><fmt:message key="person.first.name"/></td> > <td> > <spring:bind path="person.firstName"> > <input type="text" name="firstName" > value="<c:out > value="${status.value}"/>" size="15" maxlength="60"/> > <c:out value="${status.errorMessage}"/> > </spring:bind> > </td> > </tr> > <tr> > <td><fmt:message key="person.last.name"/></td> > <td> > <spring:bind path="person.lastName"> > <input type="text" name="lastName" value="<c:out > value="${status.value}"/>" size="15" maxlength="60"/> > <c:out value="${status.errorMessage}"/> > </spring:bind> > </td> > </tr> > > > > </table> > > <br/> > > <input type="submit" value="<fmt:message key="form.submit"/>"/> > > </form> > > </body> > > </html> > > person2.jsp > ----------- > <%@ page session="true" %> > > <%@ include file="/WEB-INF/jsp/taglibs.jsp" %> > > <c:set var="ctx" value="${rc.contextPath}"/> > > <html> > > <script type="text/javascript" src="<c:url > value="/validator.js"/>"></script> > > > > <body> > > <h3>Personal informations2</h3> > > <spring:bind path="person.*"> > > <c:out value="${status.value}"/> > > > </spring:bind> > > <form action="person2.html" name="personData" method="post" > > > <table> > <tr> > <td><fmt:message key="person.email"/></td> > <td> > <spring:bind path="person.email"> > <input type="text" name="email" value="<c:out > value="${status.value}"/>" size="15" maxlength="60"/> > <c:out value="${status.errorMessage}"/> > </spring:bind> > </td> > </tr> > > > > <tr> > <td><fmt:message key="person.password"/></td> > <td> > <spring:bind path="person.password"> > <input type="password" name="password" > value="<c:out > value="${status.value}"/>" size="15" maxlength="60"/> > <c:out value="${status.errorMessage}"/> > </spring:bind> > </td> > </tr> > <tr> > <td><fmt:message key="person.verify.password"/></td> > <td> > <spring:bind path="person.verifyPassword"> > <input type="password" name="verifyPassword" > value="<c:out value="${status.value}"/>" size="15" maxlength="60"/> > <c:out value="${status.errorMessage}"/> > </spring:bind> > </td> > </tr> > > </table> > > <br/> > > <input type="submit" value="<fmt:message key="form.submit"/>"/> > > </form> > > </body> > > </html> > > PersonController1.java > ------------------------- > package org.springmodules.samples.validation.commons.web; > > import javax.servlet.http.HttpServletRequest; > import javax.servlet.http.HttpServletResponse; > > import org.springframework.validation.BindException; > import org.springframework.web.servlet.ModelAndView; > import org.springframework.web.servlet.mvc.SimpleFormController; > > public class PersonController1 extends SimpleFormController { > > protected ModelAndView showForm( > HttpServletRequest request, HttpServletResponse > response, BindException > errors) > throws Exception { > System.out.println("-------------INSIDE > SHOWFORM----------------"); > System.out.println("$$$$$$$$"+getSuccessView()); > System.out.println("%%%%%%%%"+errors); > > //return new ModelAndView(super.getSuccessView()); > return super.showForm(request, response, errors); > } > > protected ModelAndView onSubmit(HttpServletRequest request, > HttpServletResponse response, Object command, > BindException errors) > throws Exception { > PersonData person=((PersonData)command); > System.out.println(person.getFirstName()); > request.getSession().setAttribute("person",person); > System.out.println("--------INSIDE > ONSUBMIT------------------"); > System.out.println("@@@@@@@"+getSuccessView()); > System.out.println("#######"+errors); > if(person.getFirstName()!=""&&person.getLastName()!=""){ > > System.out.println("in if"); > return super.onSubmit(request, response, command, errors); > } > System.out.println("in else"); > return super.onSubmit(request, response, command, errors); > } > > > > > > > } > > > > PersonController2 > ----------------- > package org.springmodules.samples.validation.commons.web; > > import javax.servlet.http.HttpServletRequest; > import javax.servlet.http.HttpServletResponse; > > import org.springframework.validation.BindException; > import org.springframework.web.servlet.ModelAndView; > import org.springframework.web.servlet.mvc.SimpleFormController; > > public class PersonController2 extends SimpleFormController { > protected ModelAndView onSubmit(HttpServletRequest request, > HttpServletResponse response, Object command, > BindException errors) > throws Exception { > System.out.println("$$$$$$$$"+getSuccessView()); > System.out.println("%%%%%%%%"+errors); > > return super.onSubmit(request, response, command, errors); > } > > protected ModelAndView showForm( > HttpServletRequest request, HttpServletResponse > response, BindException > errors) > throws Exception { > System.out.println("-------------INSIDE > SHOWFORM----------------"); > System.out.println("$$$$$$$$"+getSuccessView()); > System.out.println("%%%%%%%%"+errors); > > //return new ModelAndView(super.getSuccessView()); > return super.showForm(request, response, errors); > } > } > > PersonData.java > ---------------- > package org.springmodules.samples.validation.commons.web; > > > public class PersonData { > private String firstName; > private String lastName; > private String email; > private String password; > private String verifyPassword; > > public String getEmail() { > return email; > } > public void setEmail(String email) { > this.email = email; > } > public String getFirstName() { > return firstName; > } > public void setFirstName(String firstName) { > this.firstName = firstName; > } > public String getLastName() { > return lastName; > } > public void setLastName(String lastName) { > this.lastName = lastName; > } > public String getPassword() { > return password; > } > public void setPassword(String password) { > this.password = password; > } > public String getVerifyPassword() { > return verifyPassword; > } > public void setVerifyPassword(String verifyPassword) { > this.verifyPassword = verifyPassword; > } > } > > > > > > > > > > > -- > View this message in context: > http://www.nabble.com/partial-bean-submission-with-SimpleFormController- > tf4151563.html#a11810216 > Sent from the Commons - User mailing list archive at Nabble.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] > > > -- View this message in context: http://www.nabble.com/partial-bean-submission-with-SimpleFormController-tf4151563.html#a11859263 Sent from the Commons - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
