[ http://opensource.atlassian.com/projects/xdoclet/browse/XDT-1052?page=all ]
Vary Matyas updated XDT-1052: ----------------------------- Attachment: patch.diff a possible fix for this issue. > XDoclet only can generate one validator for Struts Form !! > ---------------------------------------------------------- > > Key: XDT-1052 > URL: http://opensource.atlassian.com/projects/xdoclet/browse/XDT-1052 > Project: XDoclet > Type: Bug > Components: Apache Module > Versions: 1.2.1 > Environment: JDK1.4.2 > WinXP > XDoclet-1.2.1 > Reporter: Eric Chow > Assignee: xdoclet-devel (Use for new issues) > Attachments: patch.diff > > > 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 message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/xdoclet/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ xdoclet-devel mailing list xdoclet-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xdoclet-devel