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]

Reply via email to