Я пытаюсь проверить свой объект, который инкапсулирует список других объектов, следующим образом (сокращенно для краткости):
public class FormDTO {
private List<AttributeDTO> ruleAttributes;
// More attributes here
}
public class AttributeDTO {
private String value;
// More attributes here
}
Фрагмент моего валидатора выглядит следующим образом:
for(AttributeDTO attributeDTO : attributes)
{
if(attributeDTO.getValue() == null || attributeDTO.getValue().length() == 0)
{
errors.reject("value", "value.isEmpty");
}
}
Мой JSP содержит следующее:
<c:forEach items="${form.ruleAttributes}" var="ruleAttribute" varStatus="counter">
<tr>
<td>
<c:choose>
<c:when test="${ruleAttribute.isEditable}">
<form:input path="ruleAttributes[${counter.index}].value" value="${ruleAttribute.value}"/>
</c:when>
<c:otherwise>
<span class="derived">NotEditable</span>
</c:otherwise>
</c:choose>
</td>
<td>
<form:errors path="ruleAttributes[${counter.index}].value"/>
</td>
</tr>
</c:forEach>
Как получить соответствующее сообщение об ошибке для соответствующего элемента списка? Таким образом, я хочу, чтобы сообщение "value.isEmpty" появилось в ячейке таблицы для соответствующей строки, которая имеет пустое значение.
Спасибо