Sorry, I was completely wrong. I was looking at a NumericValidator that we wrote, not a Tapestry one.
On Thu, Mar 31, 2011 at 9:43 AM, Adam Zimowski <zimowsk...@gmail.com> wrote: > My client side validation is disabled. This happens on my shopping > cart page where I have multiple forms (inside a loop) with indexed > trackers ( Map<Integer, ValidationTracker>. You can find complete code > for the ShoppingCart page which exhibits this behavior in another > thread which I posted recently: > > "T5: form validation with pre-existing errors" > > The actual numeric field which exhibits this is defined in the template as: > > <t:textfield t:id="quantity" t:context="index" > label="prop:quantityLabel" validate="required" size="2"/> > > > @Component(parameters = {"tracker=tracker"}) > private Form cartForm; > > @Persist(PersistenceConstants.FLASH) > private Map<Integer, ValidationTracker> indexedTrackers; > > public ValidationTracker getTracker() { > if(indexedTrackers == null) return new ValidationTrackerImpl(); > return indexedTrackers.get(index); > } > > public void setTracker(ValidationTracker aTracker) { > > if(indexedTrackers == null) { > if(log.isTraceEnabled()) log.trace("crating > indexed trackers map"); > indexedTrackers = new HashMap<Integer, > ValidationTracker>(); > } > > if(log.isTraceEnabled()) { > log.trace("setting tracker for index: " + index); > } > > indexedTrackers.put(index, aTracker); > } > > In addition, this field carries a mixin: > > @Component(id=ID_QUANTITY_FIELD, parameters > ={"AttachError.message=fieldError"}) > @MixinClasses(value=AttachError.class) > private TextField quantityField; > > @MixinAfter > public class AttachError { > > @Parameter(required = true, allowNull = true) > private String message; > > @Environmental > private ValidationTracker tracker; > > @InjectContainer > private Field field; > > > void setupRender() { > if (message != null) { > tracker.recordError(field, message); > } > } > } > > public String getFieldError() { > String error = null; > ValidationTracker tracker = getTracker(); > if(tracker != null && tracker.getError(quantityField) != null) { > return null; > } > CartItemBean cib = > findCartItem(cartDisplayItem.getLineNumber()); > > // look up error in CartItemBean and if found return it, or return null; > > return error; > } > > Let me know, perhaps I am doing something wrong.. > > Adam > > On Thu, Mar 31, 2011 at 9:03 AM, Chris Norris > <thechrisproject.li...@gmail.com> wrote: >> The Tapestry NumericValidator seems to rely on whether >> Double.valueOf(String) will throw an exception, which it does for >> '1k'. >> >> How are you configuring and using your validator? >> >> On Tue, Mar 29, 2011 at 5:19 PM, Adam Zimowski <zimowsk...@gmail.com> wrote: >>> It is server side. Looks like if input starts with a digit, Tapestry is >>> happy :) >>> >>> Adam >>> >>> On Tue, Mar 29, 2011 at 5:05 PM, Howard Lewis Ship <hls...@gmail.com> wrote: >>>> Seems like a bug to me! Surprising, though. Is this server-side or >>>> client-side validation? >>>> >>>> On Tue, Mar 29, 2011 at 2:49 PM, Adam Zimowski <zimowsk...@gmail.com> >>>> wrote: >>>>> For numeric fields, Tapestry validates correctly non-numeric input. >>>>> However, input such as: >>>>> >>>>> 1k >>>>> 1\ >>>>> etc.. >>>>> >>>>> passes the validation. >>>>> >>>>> Am I missing something? >>>>> >>>>> Adam >>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >>>>> For additional commands, e-mail: users-h...@tapestry.apache.org >>>>> >>>>> >>>> >>>> >>>> >>>> -- >>>> Howard M. Lewis Ship >>>> >>>> Creator of Apache Tapestry >>>> >>>> The source for Tapestry training, mentoring and support. Contact me to >>>> learn how I can get you up and productive in Tapestry fast! >>>> >>>> (971) 678-5210 >>>> http://howardlewisship.com >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >>>> For additional commands, e-mail: users-h...@tapestry.apache.org >>>> >>>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >>> For additional commands, e-mail: users-h...@tapestry.apache.org >>> >>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >> For additional commands, e-mail: users-h...@tapestry.apache.org >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org