Validation messages are displaying at the bottom of the page JSF - javax faces developmentstage messages -


i stuck displaying error message in jsf. requirement given below:

i have user form, user has enter details firstname, lastname, username , emailaddress. these fields mandatory, among these fields, username , emailaddress unique. when user enters fields, , if clicks save @ backend have check whether username , email address exists in db, if exists have show error message on top of page saying "the data entered exists, please reenter again".

and validation messages firstname , lastname should display on side of each field. can't use <h:messages> because displays validation messages @ once.

so populating hidden field in form message using following code:

context.addmessage("addusererrormessage", new facesmessage("the data entered exists, please reenter again")); 

addusererrormessage id of hidden form field.

but when displaying message @ top of page

<h:message for="adduserformmessage"> 

the message being displayed @ bottom of page when inspect through firebug, found following tags populating

<ul id="javax_faces_developmentstage_messages" title="project stage[development: unhandled messages">     <li style="color:red;">the data entered exists, plese reenter again </li> </ul> 

i not able find out, why message showing @ bottom, written <h:message> tag of top of page.

can 1 me on this?

thanks in advance

so populating hidden field in form message using following code:

context.addmessage("addusererrormessage", new facesmessage("the data entered exists, please reenter again")); 

addusererrormessage id of hidden form field.

the addmessage() expects client id first argument, not component id. client id should formid:addusererrormessage. client id html dom element id. open page in browser, rightclick it, view source, locate hidden input , figure id attribute.


as different (and more commonly used) alternative, don't abuse hidden input, set null client id:

context.addmessage(null, new facesmessage(message)); 

this way message set global message , can use globalonly attribute of <h:messages> display global messages only.

<h:messages globalonly="true" /> 

Comments

Popular posts from this blog

linux - Using a Cron Job to check if my mod_wsgi / apache server is running and restart -

actionscript 3 - TweenLite does not work with object -

jQuery Ajax Render Fragments OR Whole Page -