On Tue, 2004-08-31 at 02:40, Eric Chow wrote: > 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 ???
Sounds like a bug to me. Please open an issue in JIRA. http://opensource.atlassian.com/projects/xdoclet/ Andrew. > > > 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