1

我正在为 Liferay 6.1 开发一个 portlet。在某些时候,我正在评估来自表单的输入。如果输入无效,我将显示一条错误消息<liferay-ui:error>。理想情况下,我想在该消息中包含无效值。

示例:有一个文本输入应该只接受数字。用户输入字母“A”并提交表单。Portlet 显示“抱歉,'A' 不是数字”。(我知道我可以简单地在客户端上检查它。但在我的情况下,它是更复杂的数据。)

有没有办法为此使用 value 参数add(PortletRequest portletRequest, String key, Object value)

4

1 回答 1

0

我还没有找到如此明确的解决方案,并使用了我自己的错误输出:

<%
    String myError = (String)request.getAttribute("my-custom-error");
%>
<c:if test="<%= (myError != null) %>">
        <div class="portlet-msg-error">
            <%= myError %>
        </div>
</c:if>

css 类“portlet-msg-error”来自 liferay,用于默认错误渲染。

在后端将“my-custom-error”值放入请求中:

actionRequest.setAttribute("my-custom-error", "Sorry, " + value + " is not a number.");

但我更喜欢使用 liferay-error-tag 的解决方案。

于 2012-08-06T09:57:42.747 回答