Aug 28

Client Side Validation Framework

Client Side Validation, CSV in short has a history for us years before PrimeFaces. If you are interested in a little bit of history, see the Diaries of a JSF Client Side Validation Lunatic entry from 2006. (This is way before Optimus Prime era).

CSV support for JSF is not an easy task, it is not simple as integrating a 3rd party javascript plugin as JSF has its own lifecycle, concepts like conversion and then validation, partial processing, facesmessages and many more.  Real CSV for JSF should be compatible with server side implementation, should do what JSF does, so that users do not experience difference behaviors on client side and server side. In 2006, the technology was just not good enough to provide a first class CSV framework for JSF but as of 2013, we have the necessary tools like jQuery and HTML5.

PrimeFaces CSV Framework is the most complete and advanced CSV solution for JavaServer Faces and Java EE.

Server Side Compatible

JSF lifecycle phases that are related to validation (process validations, render response) are implemented with javascript. Even configuration settings like validate_empty_fields are supported.

Metadata Driven

Validation metadata is stored using HTML5 data attributes so that page is not bloated with script tags, page size is kept small and lightweight.

Partial Processing with Ajax

JSF Ajax API has the concept of partial processing to execute certain components in lifecycle within an ajax request. CSV supports this as well by only validating components that would be processed with ajax on server side.


PrimeFaces Locales API has been enhanced to include translations for messages. JSF features like message formatting, labels, requiredMessage, validatorMessage, converterMessage are all supported when displaying messages

Client Side Renderers

Message components as well as input components have client side renderers so that they reflect the changes of validations results purely on client side.

Custom Converters and Validators

All of the built-in JSF converters and validators are available at client side, however if you have a custom converter-validator it is easy to port them to client using CSV APIs like ClientValidator-ClientConverter interfaces.

Custom Events

By default, CSV is triggered when a form is submitted with a button-link click, however it is also possible to validate an input instantly using p:clientValidator behavior providing support for customizable dom events like blur, change, keyup and more.


CSV is disabled by default and a context param setting is required to switch it on. Trigger components like buttons-links are also equipped with necessary attributes for component based control.

Bean Validation

JSF already provides integration with Bean Validation on server side and PrimeFaces takes it to the next level with CSV integration. You just need to annotate your model with  bean validation constraints and PrimeFaces validates them on client side. If you have a custom constraint like @MyConstraint, CSV also provides an API to port them to client side so that your custom annotations can validate at client side as well.


It is suggested to try showcase demos with a clean browser cache.


CSV is targeted for upcoming PrimeFaces 4.0 aka Sentinel.

Posted in Uncategorized | 6 Comments
Aug 27

PrimeFaces for .NET Cancelled

PrimeFaces for ASP.NET WebForms project has been cancelled after two releases and as PrimeTek we have decided not to do further investments. Instead of .NET, our secondary focus will be PrimeUI who is very close to 1.0 release already and can be used with any web framework.

The reasons for the decision can be summarized as;

  • No feeling of passion that we have for PrimeFaces or PrimeUI
  • WebForms is a legacy technology replaced by MVC successor
  • No Clean and Flexible APIs that JSF provides similarly.
  • Complicated Design of the WebForms for a Component Developer

In summary, PrimeFaces itself is the flagship as always and its brother PrimeUI has now joined the fleet.

“Nothing great in the world has ever been accomplished without passion.” Georg Wilhelm Friedrich Hegel

Posted in JSF | 10 Comments
Aug 21

MetroUI Theme

MetroUI is a brand new addition to PrimeFaces Themes, inspired by Windows 8 Metro user interface. MetroUI is the first Elite Theme and available to download in PrimeFaces ELITE Portal for Elite Subscribers whereas PrimeFaces PRO Users can access the files from PRO Portal. There is also a 3rd option to get this theme without upgrading to Elite or PRO with a standalone purchase for $49 at Theme Gallery.

Elite Themes are created by a professional designer in photoshop and they are far more advanced than ThemeRoller generated ones. More Elite Themes will follow in future, check out Theme Gallery for updates.

Click to enlarge;

Enjoy the Metro for PrimeFaces!

Posted in JSF | 3 Comments
Aug 20

PrimeFaces Elite 3.5.13 Released

Release cycle of PrimeFaces Elite is usually bi-weekly (Release Early, Release Often) however upon a request of a PRO user who needs some urgent changes in 3.5.12 before going to production, we have released 3.5.13 with 8 improvements in total.

New Features


Defect Fixes


Binaries, Sources, Javadocs and Tag docs are available in PrimeFaces Elite Portal for Elite Subscribers as an official release bundle. PrimeFaces PRO Users can access the files from PRO Portal.

Posted in JSF | Comments Off
Aug 19

PrimeFaces Elite 3.5.12 Released

PrimeFaces Team is glad to announce the a new ELITE release, 3.5.12 brings 12 improvements in total making close to 250 improvements since 3.5 release.

New Features

Defect Fixes


Binaries, Sources, Javadocs and Tag docs are available in PrimeFaces Elite Portal for Elite Subscribers as an official release bundle. PrimeFaces PRO Users can access the files from PRO Portal.

Posted in JSF | 9 Comments
Aug 12

PrimeFaces Elite 3.5.11 Released

PrimeFaces 3.5.11 is now available featuring two cool new features and regular maintenance;

New Features

Read more about these features at;

Defect Fixes


Binaries, Sources, Javadocs and Tag docs are available in PrimeFaces Elite Portal for Elite Subscribers as an official release bundle. PrimeFaces PRO Users can access the files from PRO Portal.

Posted in PrimeFaces | 7 Comments
Aug 09

Ignore AutoUpdates

Commonly updated components like growl, messages and outputPanel have autoUpdate feature that enables these components to be updated implicitly for each ajax request without the manual update=”" definition. We’ve been getting reports in our forum about some cases where autoUpdate should better be ignored to avoid updates. One common case is the poll component, suppose you are doing a poll periodically, a message shows up because of an irrelevant action and before user is able to see it, poll comes in, makes a request and messages is cleared afterwards. This is a usability problem and we’ve fixed this by introducing new ignoreAutoUpdate to ajax aware components like p:ajax, buttons, poll and so on;

<p:messages showDetail="true" autoUpdate="true" closable="true" /> 

<p:poll ignoreAutoUpdate="true" .../>
<p:commandButton ignoreAutoUpdate="true" .../>

This enhancement is coming up in PrimeFaces 4.0 codename Sentinel.

Posted in JSF | 1 Comment
Aug 07

5 New PrimeUI Widgets

PrimeUI 1.0 is closer than ever and 5 new widgets have been introduced to the suite recently making 35 pure javascript/css widgets that can be used with any web framework in total. Tree widget is specifically written from scratch for PrimeUI and others are ported from PrimeUI’s well known older brother, PrimeFaces.


  • Local and Remote Data
  • Lazy Loading
  • Customizable Icons
  • Selection Modes
  • Demo


  • DragDrop, Button or Dblclick based transfer
  • Built-in filtering
  • Captions
  • Customizable content
  • Demo


  • Single and Multiple selection modes
  • Customizable Content
  • Demo


  • Group of commands with a default command
  • Demo


  • Fix a certain content during page scroll to keep it in viewport.
  • Demo


PrimeUI 1.0 will be available very soon and we are also planning to create a module called PrimeNG to provide first-class AngularJS integration via custom directives.

Posted in PrimeUI | 7 Comments