Thanks.
For any one interested the following code performs basic indexed properties validation without the use of validation.xml
/////////////////////////////////////////////////////////////////////
[CODE] public ActionErrors validateForm(ActionMapping actionMapping, HttpServletRequest request) {
ActionErrors errors = new ActionErrors();
if(request.getParameter("action").equals("updatePO")) {
if(getPurchaseOrderProductList().size() >0)
{
Iterator iter=m_aPurchaseOrderProductList.iterator();
while(iter.hasNext())
{
PurchaseOrderProduct pop=(PurchaseOrderProduct)iter.next();
try {
Double.parseDouble((pop.getInvoiceUnitPrice()));
Integer.parseInteger((pop.getInvoiceQty()));
if(Integer.parseInt(pop.getInvoiceQty())<0) {
StrutsUtils.addActionError(errors,INVALID_INVOICE_PRICE+pop.getProductId(),ERROR_INVALID_INVOICE_PRICE);
}
}
catch (Exception e)
{
StrutsUtils.addActionError(errors,INVALID_INVOICE_PRICE+pop.getProductId(),ERROR_INVALID_INVOICE_PRICE);
}
}
/CODE]
///////////////////////////
<logic:messagesPresent property="invalidInvoicePrice${purchaseOrderProduct.productId}">
<img src="<c:url value="/images/error.gif"/>" alt="<html:errors property="invalidInvoicePrice${purchaseOrderProduct.productId}"/>"/>
</logic:messagesPresent>
////////////////////////////