Tag libraries are unable to process at submission time as it simply
goes from form -> server. You could use JavaScript and trap the
onsubmit event, but that's about it.

Matt

On 3/13/08, Kanchana <[EMAIL PROTECTED]> wrote:
>
>  Hi All
>
>  I'm trying out with a new approach of validating the form submission  using
>  a tag library.I went through the code base and found out that appfuse.tld is
>  the centralized custom tag library which has defined some tag  libraries
>  such as FormatDate in it.So Far all these validations are limited to the
>  view but not involving the form  submission process. I wonder how we can
>  write a custom lag library which can use in the form validation in the
>  submition level.When I  debuged the Formatdate tag library class when the
>  form is load .It calls only when the page is load but not at time after we
>  submit it.I wonder a approach of writing tag library/reference API to handle
>  the tag libraries after submitting the form.Any idea will be greatly
>  appreciated.
>  Thanks
>  Kanchana
>
>
>
>
>  Kanchana wrote:
>  >
>  > Hi All
>  >
>  > I'm hitting my head against to the wall  to do a filed length validation
>  > using a custom tag library in appfuse 2 .I saw  many of the default tld
>  > are defined in the WEB-INF/appfuse.tld and those are simulated in view jsp
>  > using taglib.jsp.So accordingly i also tried adding a new tag lib class in
>  > the web/src/java/taglib and have the tag defined in the appfuse.tld.i
>  > packaged the project and deployed assuming the rest of the configurations
>  > are done automatically and I called the tag lib in the jsp using
>  > followings
>  >
>  > <%@ include file="/common/taglibs.jsp"%> and ad follows
>  >
>  > TravelLocation is a model classes which as a travelLocationId and name as
>  > properties and my tag lib name is nullValuesTag  which i defined in the
>  > appfuse.tld.But unfortunately i don't see the validation is happening and
>  > I don't see the out put.I did the validation for the length of the travel
>  > location name property which defined as 20 characters in the DB.Can any
>  > one please help me to figure out how to write custom validation in appfuse
>  > whether my approach is correct.
>  >
>  > FYI: in the taglib.jsp i have pass the key values of nullValuesTag.length
>  > to applicationRescources.properties files.I'm not sure how this properties
>  > file is read at run time and i hoped to see the message when the
>  > validation is correctly done
>  >
>  > Thanks and regards
>  > Kanchana
>  >
>  >
>  > code piece from the  jsp to call the tag lib
>  > ----------------------------------------------
>  >
>  > <spring:bind path="travelLocation.travelLocationId">
>  > <input type="hidden" name="id" value="<c:out value="${status.value}"/>"/>
>  > </spring:bind>
>  >  <div class="content_table">
>  >   <p>
>  >   <div class="form_table_column1" >
>  >
>  >             <appfuse:label styleClass="desc" key="travlLocation.name"/>
>  >   </div>
>  >   <div class="form_table_column2">
>  >
>  >
>  >    <spring:bind path="travelLocation.name">
>  >
>  >    <appfuse:nullValuesTag value="<%=request.getParameter("name")%>"
>  > key="">
>  >    </appfuse:nullValuesTag>
>  >
>  >    <input  class="TextField" type="text" name="name" id="name"
>  > value="<c:out value="${status.value}"/>" />
>  >    </spring:bind>
>  >   </div>
>  >   </p>
>  >
>  >
>  > Appfuse.tld code piece.
>  > 
> ----------------------------------------------------------------------------------
>  > <tag>
>  >
>  > <name>nullValuesTag</name>
>  >
>  > <tagclass>lk.mazarin.lgs.webapp.taglib.NullValuesTag</tagclass>
>  >
>  > <bodycontent>JSP</bodycontent>
>  >
>  > <info>tests zip code</info>
>  >
>  >
>  >
>  > <attribute>
>  >
>  > <name>value</name>
>  >
>  > <required>true</required>
>  >
>  > <rtexprvalue>true</rtexprvalue>
>  >
>  > </attribute>
>  >
>  >
>  >
>  > <attribute>
>  >
>  > <name>length</name>
>  >
>  > <required>false</required>
>  >
>  > <rtexprvalue>true</rtexprvalue>
>  >
>  > </attribute>
>  >
>  > </tag>
>  > =======================================
>  > NullValuesTag.java
>  >
>  > package lk.mazarin.lgs.webapp.taglib;
>  >
>  > import java.io.IOException;
>  > import java.util.Date;
>  > import javax.servlet.http.HttpServletRequest;
>  > import javax.servlet.jsp.JspException;
>  > import lk.mazarin.lgs.util.DateUtil;
>  >
>  >
>  > import org.springframework.web.servlet.support.RequestContext;
>  >
>  > /**
>  >  * <p>This class is designed to render a formatted date tag in the format
>  >  * the user's locale has speficied.</p>
>  >  *
>  >  * <p>It is designed to be used as follows:
>  >  * <pre>&lt;tag:date value="comman.datefield" /&gt;</pre>
>  >  * </p>
>  >  *
>  >  * @jsp.tag name="date" bodycontent="empty"
>  >  */
>  >
>  > public class NullValuesTag extends TemplateTag {
>  >       private String value;
>  >       private int length;
>  >
>  >       public  NullValuesTag() {
>  >               value = null;
>  >               length = 1;
>  >       }
>  >
>  >       public int doStartTag() throws JspException {
>  >
>  >               if (value == null)
>  >                       return 1; //check if we have zip code
>  >               if (value.equals(null))
>  >                       return 1; //check if value is not null
>  >
>  >               if (value.length()> 20) {
>  >                       //has to be an integer! short case of zip code xxxxx
>  >                       try {
>  >                               Integer.parseInt(value);
>  >                               return 0;
>  >                       } catch (NumberFormatException e) {
>  >                               return 1;
>  >                       }
>  >               }
>  >
>  >               /*else if (value.length() == 10) {
>  >                       // long case on Zip code xxxxx-xxxx
>  >                       String part1 = value.substring(0, 5);
>  >                       String dash = value.substring(5, 6);
>  >                       String part2 = value.substring(6);
>  >                       if (!dash.equals("-"))
>  >                               return 1;
>  >                       try {
>  >                               Integer.parseInt(part1);
>  >                               Integer.parseInt(part2);
>  >                               return 0;
>  >                       } catch (NumberFormatException e) {
>  >                               return 1;
>  >                       }
>  >               }*/
>  >               return 1;
>  >       }
>  >
>  >       public int getLength() {
>  >               return length;
>  >       }
>  >
>  >       public String getValue() {
>  >               return value;
>  >       }
>  >
>  >       public void release() {
>  >               value = null;
>  >               length = 1;
>  >       }
>  >
>  >       public void setLength(int i) {
>  >               length = i;
>  >       }
>  >
>  >       public void setValue(String s) {
>  >               value = s;
>  >       }
>  > }
>  >
>  >
>
>  --
>
> View this message in context: 
> http://www.nabble.com/Writing-custom-tag-libraries-in-appfuse-2-tp15872546s2369p16022292.html
>
> Sent from the AppFuse - 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]

Reply via email to