You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Oren Livne <ol...@aoce.utah.edu> on 2007/02/05 17:52:56 UTC
Can Validator Error Messages use the Field's Properties?
Dear All:
I haven't received feedback for this, I apologize for sending it again
but hopefully someone can give me
an advice. Thanks so much!
I'm using Struts 1.3.5 in my content management web application. I have
a form with a dynamic
list. To validate it, I used the following in my validator.xml to loop
over all elements of the
list "childrenForm" of my main form:
<field property="name" depends="required,minlength,maxlength"
indexedListProperty="childrenForms">
<msg name="required" key="error.catalog.collection.null"/>
<msg name="minlength"
key="error.catalog.collection.minlength"/>
<msg name="maxlength"
key="error.catalog.collection.maxlength"/>
<arg position="0" name="required"
key="catalog.editItemForm.itemForm.name.label"/>
<arg position="1" name="required"
key="catalog.editItemForm.childrenForms.label"/>
<arg position="0" name="minlength"
key="catalog.editItemForm.itemForm.name.label"/>
<arg position="1" name="minlength"
key="catalog.editItemForm.childrenForms.label"/>
<arg position="2" name="minlength" key="${var:minlength}"
resource="false"/>
<arg position="0" name="maxlength"
key="catalog.editItemForm.itemForm.name.label"/>
<arg position="1" name="maxlength"
key="catalog.editItemForm.childrenForms.label"/>
<arg position="2" name="maxlength" key="${var:maxlength}"
resource="false"/>
<var>
<var-name>minlength</var-name>
<var-value>3</var-value>
</var>
<var>
<var-name>maxlength</var-name>
<var-value>20</var-value>
</var>
</field>
Right now, this will show the same error message for all elements, if
their name is not in the submitted
form. Furthermore, the same message may be shown multiple times with
<html:errors/>, if multiple names
are not filled out by the user). However, I would like to customize the
error message per element of the list,
and say something like
Your field 'Name' for Category #2 ('Mathematics') is required. Please
enter a Name.
Here 'Mathematics' is the actual field's name property and index is the
index of it in the list (or
the index plus 1, say).
- Is there a way to use something like 'childrenForm[].name' as the
value of <arg position="2">,
instead of using a key? I know it's possible to reference '[]' in the
variable 'test', but not in any other variable.
- Is there a way to reference the index of the element in the list in an
error message?
- Is there a way to reference an expression that depends on the index,
like an EL expression (e.g. "${index+1}")?
Thanks so much in advance,
Oren
--
======================================================================
Oren Livne, Ph.D.
Research Assistant Professor of Mathematics
RUReady Software Architect
Academic Outreach and Continuing Education
1901 East South Campus Dr., Room 2197-D
University of Utah, Salt Lake City, UT 84112-9399
Tel : (801) 581-6831 Cell: (801) 631-3885 Fax: (801) 585-5414
Email: olivne@aoce.utah.edu Web: http://ruready.net/oren
======================================================================
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org