Overview
Since 4.1
The ace:clientValidatePattern component validates the input of the enclosing component by allowing only values that conform to the specified REGEX (Regular Expression) pattern to be submitted.
 | See the ICEfaces Showcase Live Demo of this component, complete with source code. |
Getting Started
<html ... xmlns:ace="http://www.icefaces.org/icefaces/components">
<h:body>
<h:form>
<ace:textEntry id="textEntry1" value="#{clientValidatePatternBean.value1}"
label="IP address" labelPosition="left" >
<ace:clientValidatePattern
pattern="^(([01]?[0-9]?[0-9]|2([0-4][0-9]|5[0-5]))\.){3}([01]?[0-9]?[0-9]|2([0-4][0-9]|5[0-5]))$" />
</ace:textEntry>
...
</h:form>
...
</h:body>
</html>
Attributes
 | 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. |
pattern the REGEX pattern for the input (compatible with the JavaScript RegEx function).
Validation Behaviour
- Client validation occurs initially when the component value is attempted to be submitted to the server, either via an ace:ajax partial-submit or a full form submit. If the client validation fails the submit to the server is aborted and the appropriate error message is displayed in an associated ace:message, ace:messages, or ace:growlMessages component (without requiring a server-roundtrip). Thus, a form submit with multiple components is processed atomically and will be completely aborted if any of the components within it fail client validation.
- Before submitting an entered component value the first time (either via full form submit, or an ace:ajax partial-submit), the user can tab through components in the form without triggering annoying validation messages - they won't get bugged before having the chance to actually enter a correct value.
- However, once a component is marked invalid by a previous validation failure, it is eagerly validated: As soon as the user has entered the necessary value, the error message is removed, without requiring a form submit.
- Client validation supports the "immediate='true'" attribute on ace:pushButton and ace:linkButton. When "immediate='true'" the button submit will occur regardless of whether one or more components in the form are failing client validation.
Event Listeners
No direct event listener is associated with this component.
Client Behavior Events
No direct client behavior is associated with this component.
JavaScript API
Not applicable.
Keyboard and ARIA Support
Not applicable.
CSS Classes
Not applicable.
Known Issues
- Client Validation is not supported with the ace:maskedEntry component.
Additional Resources
None.