sandy
sandy

Reputation: 33

customised message is not displayed (using Jsf and primeface3.3)

I am creating a demo project using primeface 3.3 and JSF, in which if a user doesn't fill a required field then it should show a message. Here is my code:

     <!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:ui="http://java.sun.com/jsf/facelets"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:p="http://primefaces.org/ui">
    <f:view contentType="text/html">
    <h:head>
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
   <title> growl</title>
</h:head>
<h:body>
<h:form>  

    <p:growl id="growl" showDetail="true" sticky="true" />  

      <p:panel > 
        <h:panelGrid columns="3"> 

            <h:outputText value="Your Name: *" />   
            <p:inputText value="#{someBean}" required="true" label="Name" requiredMessage="User Name Requireds"/>  
       <h:messages style="color:red;margin:5px;" />
        </h:panelGrid>  

        <p:commandButton value="Save"    action="success" />  
    </p:panel>  

</h:form>
</h:body>
</f:view>
</html>

when clicking to save button without filling user name it doesn't show the required message

Upvotes: 1

Views: 2019

Answers (1)

BalusC
BalusC

Reputation: 1109865

The <p:commandButton> sends by default an ajax request wherein by default the entire form is executed (as in process="@form"), but by default actually nothing will be updated (as in update="").

If you want to update the UI on complete of the ajax request, then you need to explicitly specify the update attribute. For example, this updates the entire form:

<p:commandButton ... update="@form" />

And this updates only a specific component:

<h:messages id="messages" ... />
<p:commandButton ... update="messages" />

You can alternatively also use PrimeFaces own <p:messages> which supports auto-updating.

<p:messages ... autoUpdate="true" />
<p:commandButton ... />

Upvotes: 2

Related Questions