如何在验证错误上更新Dialog Height?

时间:2013-10-03 20:14:17

标签: jsf jsf-2 primefaces

我正在使用Primefaces 4.0中的Dialog Framework,我将高度设置为默认值(自动),直到我单击Add按钮并显示验证消息。现在对话框高度太小而且不会自动调整大小。

如何让对话框调整验证错误的高度?

验证错误之前:

Before validation errors

验证错误后:

With Validation Errors

add.xhtml:

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"  
      xmlns:h="http://java.sun.com/jsf/html" 
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets" 
      xmlns:p="http://primefaces.org/ui">

<h:head>
    <title>Add Group</title>
    <h:outputStylesheet library="css" name="style.css" />
</h:head>

<h:body>

    <h:form id="addGroupForm">
        <p:messages autoUpdate="true" />
        <h:panelGrid columns="2" cellspacing="10" width="300">  
            <h:outputLabel for="name" value="Group Name" />  
            <p:inputText id="name" value="#{userGroupBacking.newGroup}" required="true" requiredMessage="Group Name is Required" />  

            <h:panelGroup></h:panelGroup>
            <h:panelGroup>
                <p:commandButton value="Add" styleClass="ui-priority-primary" actionListener="#{userGroupBacking.addGroup}" update="@form" />
                <p:commandButton value="Cancel" actionListener="#{userGroupBacking.cancelAddGroup}" immediate="true" />
            </h:panelGroup>
        </h:panelGrid> 
    </h:form>

</h:body>
</html>

1 个答案:

答案 0 :(得分:0)

首先,确保您的对话框没有固定的高度,然后确保通知所在的DOM元素的溢出已正确设置溢出。有些对话框有点棘手,如果不关闭再打开就不能轻松调整大小,如果能显示实际的对话框,会更容易帮助你。我的第一个提示是使用jQuery捕获前端的事件并相应地调整对话框的大小。