Table of Contents


Since 3.0

The MaskedEntry component allows a user to more easily enter fixed width input where you would like them to enter the data in a certain format.

See the ICEfaces Showcase Live Demo of this component, complete with source code.

Getting Started

<ace:maskedEntry id="workPhoneInput" value="#{maskedEntryBean.workPhone}" mask="(999) 999-9999? x99999"/>


TagLib Documentation
This section covers attributes involved in the typical use-cases for this component. For reference, the complete taglib documentation for this component is available here.

A mask is defined by a format made up of mask definitions: "a" represents an alpha character (A-Z,a-z); "9" represents a numeric character (0-9); "*" represents an alphanumeric character (A-Z,a-z,0-9). All input is optional. Any character not in the definitions list will be automatically entered for the user as they type.

By default the mask function uses underscore to denote input points in text box. If you want to use a different character, set it with the placeHolder attribute.

Event Listeners

valueChangeListener Listener method that will be notified when a new value has been set for this input component.

Client Behavior Events

valueChange Fired when the value of the text input changes (default event).
keypress Fired on a keypress event. Use only to read input char. Don't re-render or do JS-like event handling.

JavaScript API

ICEfaces 3.x

The client side component object is exposed through the global variable name specified in the widgetVar attribute.

ICEfaces 4+

The "widgetVar" attribute on the ACE components has been removed in ICEfaces 4 and in its place a new "ice.ace.instance()" client JavaScript object lookup API has been introduced. The reason for this change is to enable lazy-initialization of the ACE component JavaScript objects to improve runtime performance and reduce browser memory use.

var widget = ice.ace.instance('frm:componentId);
The ice.ace.instance function requires the full client id of the component to be specified, such as "j_idt77:componentId" instead of just "componentId". To reduce the complexity of working with complete IDs with this function it may be preferable in some cases to use prependId="false" in the enclosing form (e.g. <h:form prependId="false">).
This component doesn't have a client-side API made specifically to be used by application developers. However, the component's internal methods and variables can be accessed in this way, including the underlying jQuery object and objects from underlying Javascript libraries (if applicable), and can be used for whatever purpose a developer might have in mind.

Keyboard and ARIA Support

The following ARIA roles are supported: textbox


This component supports built-in labels. The text specified in the label attribute will be rendered next to the main input field of this component. The position specified by labelPosition will determine where this label is going to be rendered; the possible values are left, right, top, bottom, none and inField (to render the label in the field itself).

Required Indicator

The requiredIndicator attribute specifies the text to be displayed next to the main input field when this component is marked as required. When, this component is not marked as required, then the text specified in the optionalIndicator is going to be rendered. The indicatorPosition attribute determines where this indicator text is going to the rendered; the possible values are left, right, top, bottom, labelLeft, labelRight, and none.

Required Styling

Then this component is marked as required, the main input field receives the CSS class ui-state-required, otherwise, it receives the CSS class ui-state-optional. When this component is marked as invalid by the app, it will be rendered with the CSS class ui-state-error. These CSS classes can be used to add custom styling to this component, in order indicate its current state in a more visual way.

CSS Classes

The following markup represents the basic HTML structure of the component and the CSS classes it uses.

<span id="form:dobInput">
	<input class="ui-inputfield ui-inputmask ui-widget ui-state-default ui-corner-all ui-state-optional [user defined classes]" style="[user defined styles]" />

Known Issues

  • ace:maskedEntry is not compatible with client validation due to the way it generally always has contents in it's DOM input elements to represent the mask, which confuses the client validation logic.

Additional Resources

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.

© Copyright 2021 ICEsoft Technologies Canada Corp.