org.apache.wicket.validation.validator
Class PatternValidator

java.lang.Object
  extended by org.apache.wicket.validation.validator.AbstractValidator<String>
      extended by org.apache.wicket.validation.validator.StringValidator
          extended by org.apache.wicket.validation.validator.PatternValidator
All Implemented Interfaces:
Serializable, IClusterable, INullAcceptingValidator<String>, IValidator<String>
Direct Known Subclasses:
EmailAddressValidator

public class PatternValidator
extends StringValidator

Validates a Component by matching the component's value against a regular expression pattern. A PatternValidator can be constructed with either a Java regular expression (compiled or not) or a MetaPattern. If the pattern matches against the value of the Component it is attached to when validate is called by the framework, then that input value is considered valid. If the pattern does not match, the errorMessage method will be called.

For example, to restrict a field to only digits, you might add a PatternValidator constructed with the pattern "\d+". Another way to do the same thing would be to construct the PatternValidator passing in MetaPattern.DIGITS. The advantages of using MetaPattern over straight Java regular expressions are that the patterns are easier to construct and easier to combine into complex patterns. They are also more readable and more reusable. See MetaPattern for details.

The error message will be generated with the key "PatternValidator" and the message keys that can be used are:

Since:
1.2.6
Author:
Jonathan Locke, Igor Vaynberg (ivaynberg)
See Also:
Pattern, MetaPattern, Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.wicket.validation.validator.StringValidator
StringValidator.ExactLengthValidator, StringValidator.LengthBetweenValidator, StringValidator.MaximumLengthValidator, StringValidator.MinimumLengthValidator
 
Constructor Summary
PatternValidator(MetaPattern pattern)
          Constructor that accepts a MetaPattern argument.
PatternValidator(Pattern pattern)
          Constructor that accepts a Java regex Pattern argument.
PatternValidator(String pattern)
          Constructor that accepts a String regular expression pattern.
PatternValidator(String pattern, int flags)
          Constructor that accepts a String pattern and Java regex compile flags as arguments.
 
Method Summary
 Pattern getPattern()
          Gets the regexp pattern.
protected  void onValidate(IValidatable<String> validatable)
          Checks a value against this PatternValidator's Pattern.
 PatternValidator setReverse(boolean reverse)
          If set to true then input that matches the pattern is considered invalid.
 String toString()
           
protected  Map<String,Object> variablesMap(IValidatable<String> validatable)
          Checks a value against this PatternValidator's Pattern.
 
Methods inherited from class org.apache.wicket.validation.validator.StringValidator
exactLength, lengthBetween, maximumLength, minimumLength
 
Methods inherited from class org.apache.wicket.validation.validator.AbstractValidator
error, error, error, error, messageModel, resourceKey, resourceKey, validate, validate, validateOnNullValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PatternValidator

public PatternValidator(String pattern)
Constructor that accepts a String regular expression pattern.

Parameters:
pattern - a regular expression pattern

PatternValidator

public PatternValidator(String pattern,
                        int flags)
Constructor that accepts a String pattern and Java regex compile flags as arguments.

Parameters:
pattern - a regular expression pattern
flags - compile flags for java.util.regex.Pattern

PatternValidator

public PatternValidator(Pattern pattern)
Constructor that accepts a Java regex Pattern argument.

Parameters:
pattern - a Java regex Pattern

PatternValidator

public PatternValidator(MetaPattern pattern)
Constructor that accepts a MetaPattern argument.

Parameters:
pattern - a MetaPattern
Method Detail

getPattern

public final Pattern getPattern()
Gets the regexp pattern.

Returns:
the regexp pattern

setReverse

public PatternValidator setReverse(boolean reverse)
If set to true then input that matches the pattern is considered invalid.

Parameters:
reverse -
Returns:
itself

variablesMap

protected Map<String,Object> variablesMap(IValidatable<String> validatable)
Checks a value against this PatternValidator's Pattern.

Overrides:
variablesMap in class AbstractValidator<String>
Parameters:
validatable - the IValidatable to check
Returns:
a Map of variables for variable interpolation

toString

public String toString()
Overrides:
toString in class Object
See Also:
Object.toString()

onValidate

protected void onValidate(IValidatable<String> validatable)
Checks a value against this PatternValidator's Pattern.

Specified by:
onValidate in class AbstractValidator<String>
Parameters:
validatable - the IValidatable to check


Copyright © 2004-2011 Apache Software Foundation. All Rights Reserved.