Hi,

I use xdoclet to generate struts' validation.xml.

But it only generate the validator for one Form if I specify more than
one Form name in a bean.

It seems that the first Form will be included the validator, and the
remaing Forms will not include any validation rules !!

Therefore, it just generate the validation rules for LogonForm !!!

Is it a bug or something I missed ???


The following is my User.java and the generated validation.xml.


package com.echows.ejcourse.portal.model;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;


/**
 *
 * @struts.form
 *    name="LogonForm"
 *    extends="org.apache.struts.validator.ValidatorForm"
 *
 * @struts.form
 *    name="NewUserForm"
 *    extends="org.apache.struts.validator.ValidatorForm"
 *
 *
 * @jdo.persistence-capable
 *    identity-type="application"
 *    objectid-class="com.echows.ejcourse.portal.pk.UserPK"
 *
 * @jdo.class-vendor-extension
 *    vendor-name="${jdo.vendor}"
 *    key="table-name"
 *    value="User"
 *
 *
 *
 *
 */
public class User extends AbstractBean {
   
   /**
    * @jdo.field
    *    persistence-modifier="persistent"
    *    collection-type="collection"
    *    element-type="Role"
    *
    * @jdo.field-vendor-extension
    *    vendor-name="${jdo.vendor}"
    *    key="clear-on-delete"
    *    value="true"
    *
    * @jdo.collection-vendor-extension
    *    vendor-name="${jdo.vendor}"
    *    key="clear-on-delete"
    *    value="true"
    *
    * @jdo.collection-vendor-extension 
    *    vendor-name="${jdo.vendor}"
    *    key="table-name"
    *    value="users_roles"
    *
    *
    * @jdo.collection-vendor-extension 
    *    vendor-name="${jdo.vendor}"
    *    key="owner-column-name"
    *    value="username"
    *
    *
    * @jdo.collection-vendor-extension 
    *    vendor-name="${jdo.vendor}"
    *    key="element-column-name"
    *    value="rolename"
    *
    */
   private Collection roles = new ArrayList();
   
   
   /**
    * @jdo.field
    *    persistence-modifier="persistent"
    *
    * @jdo.field-vendor-extension
    *    vendor-name="${jdo.vendor}"
    *    key="column-name"
    *    value="USERINFO_ID"
    *
    */
   private UserInfo userInfo;

   /**
    * @jdo.field
    *    persistence-modifier="persistent"
    *    null-value="exception"
    *
    * @jdo.field-vendor-extension
    *    vendor-name="${jdo.vendor}"
    *    key="length"
    *    value="max 30"
    *
    */
   private String passwords;

   /**
    * @jdo.field
    *    persistence-modifier="persistent"
    *    null-value="exception"
    *    primary-key="true"
    *
    * @jdo.field-vendor-extension
    *    vendor-name="${jdo.vendor}"
    *    key="length"
    *    value="max 20"
    *
    */
   private String username;

   /**
    * @jdo.field
    *    persistence-modifier="persistent"
    *    null-value="exception"
    *
    *
    */
   private boolean status = false;
   
   
   
   // for NewUserForm
   /**
    * @jdo.field
    *    persistence-modifier="none"    
    *
    *
    */
   private String roleName;
   /**
    * @jdo.field
    *    persistence-modifier="none"    
    *
    *
    */
   private String action;


   /**
    * Constructor.
    */
   public User() {
      ;
   }

   /**
    * Set UserInfo.
    *
    * @param   information.
    */
   public void setUserInfo(UserInfo userInfo) {
      this.userInfo = userInfo;
   }
   

   /**
    * Get UserInfo.
    *
    * @return   information.
    */
   public UserInfo getUserInfo() {
      return userInfo;
   }   


   /**
    * Set password.
    *
    * @param   password.
    *
    *
    * @struts.form-field
    *    name="LogonForm"
    *
    * @struts.form-field
    *    name="NewUserForm"
    *
    * @struts.validator
    *    type="required"
    *    msgkey="errors.required"
    *    arg0resource="msg.password"
    */
   public void setPasswords(String passwords) {
      this.passwords = passwords;
   }


   /**
    * Get password.
    *
    * @return   password.
    */
   public String getPasswords() {
      return passwords;
   }



   /**
    * Set status.
    *
    * @param   status.
    *
    *
    * @struts.form-field
    *    name="NewUserForm"
    */
   public void setStatus(boolean status) {
      this.status = status;
   }

   /**
    * Get status.
    *
    * @return   status.
    */
   public boolean getStatus() {
      return status;
   }

   /**
    * Set username.
    *
    * @param   username.
    *
    *
    * @struts.form-field
    *    name="LogonForm"
    *
    * @struts.form-field
    *    name="NewUserForm"
    *
    *
    * @struts.validator
    *    type="required"
    *    msgkey="errors.required"
    *    arg0resource="msg.username"    
    */
   public void setUsername(String username) {
      this.username = username;
   }

   /**
    * Get username.
    *
    * @return   username.    
    */
   public String getUsername() {
      return username;
   }
   

   
   /**
    * Set role collections.
    *
    * @param   roles - a collection of Role.
    */
   public void setRoles(Collection roles) {
      this.roles = roles;
   }

   /**
    * Get role collections.
    *
    * @return  a collection of Role.
    */
   public Collection getRoles() {
      return roles;
   }
   
   /**
    * Add a Role to the role set.
    *
    * @param   role.
    */    
   public void addRole(Role role) {
      roles.add(role);
   }
   
   
   
   
   // NewUserForm
   /**
    * @struts.form-field
    *    name="NewUserForm"
    *  
    *
    */
    /*
    * @struts.validator
    *    type="required"
    *    msgkey="errors.required"
    *    arg0resource="msg.roleName"    
    */
   public void setRoleName(String roleName) {
      this.roleName = roleName;
   }
   
   public String getRoleName() {
      return roleName;
   }   
   
   
   /**
    * @struts.form-field
    *    name="NewUserForm"
    *  
    *
    */
    /*
    * @struts.validator
    *    type="required"
    *    msgkey="errors.required"
    *    arg0resource="msg.action"    
    */
   public void setAction(String action) {
      this.action = action;
   }
   
   public String getAction() {
      return action;
   }   
}



<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD
Commons Validator Rules Configuration 1.0//EN"
"http://jakarta.apache.org/commons/dtds/validator_1_0.dtd";>

<form-validation>
  <!--
    Define global validation config in validation-global.xml
  -->
  <formset>
      <form name="UserInfoForm">
              <field property="firstName"
                     depends="required">
                  <msg
                    name="required"
                    key="errors.required"/>

                  <arg0 key="UserInfoForm.firstName"/>
              </field>
              <field property="lastName"
                     depends="required">
                  <msg
                    name="required"
                    key="errors.required"/>

                  <arg0 key="UserInfoForm.lastName"/>
              </field>
              <field property="sex"
                     depends="required">
                  <msg
                    name="required"
                    key="errors.required"/>

                  <arg0 key="UserInfoForm.sex"/>
              </field>
              <field property="idCardNo"
                     depends="required">
                  <msg
                    name="required"
                    key="errors.required"/>

                  <arg0 key="UserInfoForm.idCardNo"/>
              </field>
              <field property="address1"
                     depends="required">
                  <msg
                    name="required"
                    key="errors.required"/>

                  <arg0 key="UserInfoForm.address1"/>
              </field>
              <field property="country"
                     depends="required">
                  <msg
                    name="required"
                    key="errors.required"/>

                  <arg0 key="UserInfoForm.country"/>
              </field>
              <field property="action"
                     depends="required">
                  <msg
                    name="required"
                    key="errors.required"/>

                  <arg0 key="UserInfoForm.action"/>
                  <arg0
                      name="required"
                    key="msg.action"
                  />
              </field>
      </form>
      <form name="LogonForm">
              <field property="passwords"
                     depends="required">
                  <msg
                    name="required"
                    key="errors.required"/>

                  <arg0 key="LogonForm.passwords"/>
                  <arg0
                      name="required"
                    key="msg.password"
                  />
              </field>
              <field property="username"
                     depends="required">
                  <msg
                    name="required"
                    key="errors.required"/>

                  <arg0 key="LogonForm.username"/>
                  <arg0
                      name="required"
                    key="msg.username"
                  />
              </field>
      </form>
  </formset>
</form-validation>


-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
_______________________________________________
xdoclet-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-user

Reply via email to