Project Documentation
Foundation

Summary

Tag name: <s:passwordStrength>
UIComponent class: org.apache.myfaces.custom.passwordStrength.PasswordStrengthComponent
Tag class: org.apache.myfaces.custom.passwordStrength.PasswordStrengthTag
Component type: org.apache.myfaces.PasswordStrength
Component family: org.apache.myfaces.PasswordStrength
Renderer type: org.apache.myfaces.PasswordStrength
Renderer class: org.apache.myfaces.custom.passwordStrength.PasswordStrengthRenderer

The passwordStrength component is needed by the web sites which ask the user to enter a powerful password for the purpose of the registration stuff.

The component enables its user to know the strength of the password while (he/she) types it before even submit the form to the server [please see the screenshots].

The component enables its user to define his custom security policy for his password in an easy manner.

The component also have 2 types of presenting the password strength. Till now the strength can be represented as text or progressbar.

Supported Listeners

Name Listener Event Phases Required Description
$listener.isRequired()

Attributes

Name Type Supports EL? Description
accesskey String Yes HTML: Sets the access key for this element.
align String Yes HTML: Specifies the horizontal alignment of this element. Deprecated in HTML 4.01.
alt String Yes HTML: Specifies alternative text that can be used by a browser that can't show this element.
autocomplete String Yes If the value of this attribute is "off", render "off" as the value of the attribute. This indicates that the browser should disable its autocomplete feature for this component. This is useful for components that perform autocompletion and do not want the browser interfering. If this attribute is not set or the value is "on", render nothing.
binding org.apache.myfaces.custom.passwordStrength.PasswordStrengthComponent Only EL Identifies a backing bean property (of type UIComponent or appropriate subclass) to bind to this component instance. This value must be an EL expression.
converter javax.faces.convert.Converter Yes An expression that specifies the Converter for this component.

The value can either be a static value (ID) or an EL expression. When a static id is specified, an instance of the converter type registered with that id is used. When this is an EL expression, the result of evaluating the expression must be an object that implements the Converter interface.

converterMessage String Yes Text to be displayed to the user as an error message when conversion of a submitted value to the target type fails.

customSecurityExpression String Yes This string determines the expression of the custom security rule of the password

Note that the expression has the following format :

*******************************************************

S (Number) N (Number) A (Number)

  • Where S stands for Symbols
  • Where N stands for Numbers
  • Where A stands for Alphabets

*******************************************************

For example) A4N2S3A2 Means that the password will be as following :

  • 4 or more Alphabets followed by
  • 2 or more Numbers followed by
  • 3 or more Symbols followed by
  • 2 or more Alphabets

*******************************************************

Note also that the useCustomSecurity should be set to true.

dir String Yes HTML: The direction of text display, either 'ltr' (left-to-right) or 'rtl' (right-to-left).
disabled boolean Yes HTML: When true, this element cannot receive focus.
id String Yes Get a string which uniquely identifies this UIComponent within the scope of the nearest ancestor NamingContainer component. The id is not necessarily unique across all components in the current view.
immediate boolean Yes A boolean value that identifies the phase during which action events should fire.

During normal event processing, action methods and action listener methods are fired during the "invoke application" phase of request processing. If this attribute is set to "true", these methods are fired instead at the end of the "apply request values" phase.

label String Yes A display name for this component.
lang String Yes HTML: The base language of this document.
maxlength int Yes HTML: The maximum number of characters allowed to be entered.
onblur String Yes HTML: Specifies a script to be invoked when the element loses focus.
onchange String Yes HTML: Specifies a script to be invoked when the element is modified.
onclick String Yes HTML: Script to be invoked when the element is clicked.
ondblclick String Yes HTML: Script to be invoked when the element is double-clicked.
onfocus String Yes HTML: Specifies a script to be invoked when the element receives focus.
onkeydown String Yes HTML: Script to be invoked when a key is pressed down over this element.
onkeypress String Yes HTML: Script to be invoked when a key is pressed over this element.
onkeyup String Yes HTML: Script to be invoked when a key is released over this element.
onmousedown String Yes HTML: Script to be invoked when the pointing device is pressed over this element.
onmousemove String Yes HTML: Script to be invoked when the pointing device is moved while it is in this element.
onmouseout String Yes HTML: Script to be invoked when the pointing device is moves out of this element.
onmouseover String Yes HTML: Script to be invoked when the pointing device is moved into this element.
onmouseup String Yes HTML: Script to be invoked when the pointing device is released over this element.
onselect String Yes HTML: Specifies a script to be invoked when the element is selected.
penaltyRatio String Yes This attribute determines the penalty ratio that will decrease the password Strength if the custom security expression is not met. Note also that the useCustomSecurity should be set to true to apply this flag. Possible values from 0 to 100. Default value is 50.
preferredPasswordLength String Yes The prefered length of the password
prefixText String Yes The prefix of the component message
readonly boolean Yes HTML: When true, indicates that this component cannot be modified by the user. The element may receive focus unless it has also been disabled.
rendered boolean Yes A boolean value that indicates whether this component should be rendered. Default value: true.
required boolean Yes A boolean value that indicates whether an input value is required.

If this value is true and no input value is provided by a postback operation, then the "requiredMessage" text is registered as a FacesMessage for the request, and validation fails.

Default value: false.

requiredMessage String Yes Text to be displayed to the user as an error message when this component is marked as "required" but no input data is present during a postback (ie the user left the required field blank).
showDetails String Yes This flag {true | false} determines whether to show the details (left characters). default is true
size int Yes HTML: The initial width of this control, in characters.
strengthIndicatorType String Yes This flag determines the indicator type. It can be {text or bar}. Default is text
style String Yes HTML: CSS styling instructions.
styleClass String Yes The CSS class for this element. Corresponds to the HTML 'class' attribute.
tabindex String Yes HTML: Specifies the position of this element within the tab order of the document.
textStrengthDescriptions String Yes The text strength descriptions
title String Yes HTML: An advisory title for this element. Often used by the user agent as a tooltip.
useCustomSecurity String Yes This flag determines whether to user custom security rules instead of just depending on the password length. The default is false.
validator javax.faces.el.MethodBinding Only EL A method-binding EL expression which is invoked during the validation phase for this component.

The invoked method is expected to check the submitted value for this component, and if not acceptable then report a validation error for the component.

The method is expected to have the prototype

public void aMethod(FacesContext, UIComponent,Object)
validatorMessage String Yes Text which will be shown if validation fails.
value Object Yes Gets The initial value of this component.
valueChangeListener javax.faces.el.MethodBinding Only EL A method which is invoked during postback processing for the current view if the submitted value for this component is not equal to the value which the "value" expression for this component returns.

The phase in which this method is invoked can be controlled via the immediate attribute.