У меня есть форма с несколькими проверками.
Во время отправки новой формы, если проверка не пройдена, я вижу эти сообщения об ошибках.
но во время редактирования формы, когда я намеренно меняю поле на пустое и отправляю форму, сообщения об ошибках не отображаются на странице Jsp, но я могу получить количество ошибок в контроллере как 1.
<portlet:actionURL var="actionUrl">
<portlet:param name="action" value="editCommunity"/>
<portlet:param name="communityID" value="${community.id}"/>
</portlet:actionURL>
<liferay-ui:tabs names="Details" />
<form:form commandName="community" method="post" action="${actionUrl}">
<form:hidden path="id"/>
<div><form:errors cssClass="portlet-msg-error" path="*"/></div>
<table class="manager-detail">
<tr>
<th class="portlet-form-field-label">
<label for="community_label_name"><spring:message code="community.label.name"/></label>
<span class="manager-field-required">*</span>
</th>
<td><form:input id="community_label_name" cssClass="portlet-form-input-field" path="name" size="30" maxlength="80" /></td>
</tr>
Мой метод редактирования контроллера .....
визуализация формы редактирования
@RequestMapping(params = "action=editCommunity")
public String showEditCommunityForm(final RenderRequest request,
@RequestParam(value="communityID") Long id, final Model model)
throws CommunityNotFoundException {
final ThemeDisplay themeDisplay = (ThemeDisplay) request
.getAttribute(WebKeys.THEME_DISPLAY);
model.addAttribute("community", communityService.getCommunity(id));
return "communityEdit";
}
отредактированная форма отправлена
@RequestMapping(params = "action=editCommunity")
public void submitEditCommunityForm(final ActionRequest request,
final ActionResponse response,
@ModelAttribute("community") Community community,
BindingResult result, Model model) throws SystemException, PortalException {
communityValidator.validate(community, result);
if (result.hasErrors()) {
System.out.println("validation errors size..."+result.getErrorCount());
//model.addAttribute("community", community);
response.setRenderParameter("action", "editCommunity");
response.setRenderParameter("communityID", String.valueOf(community
.getId()));
}
}
Это не полный код, а блок
Я пробовал пару вещей, как,
изменение метода http с поста на POST, но ничего не работает. Проверка корректно работает при создании формы, но не при редактировании.
Я что-то упустил? пожалуйста, дайте мне предложения.
Приветствие
Вамши