##### Validator

- Overview
- Download
- Issue Tracking
- Routines Docs
- JavaDoc
- JavaScript Doc
- Validator Wiki

##### JavaDocs

- SVN Latest
- Current Release
- 1.2.0 Release
- 1.1.4 Release
- 1.0.4 Release

##### Development

- Building
- Mailing Lists
- Team
- Tasks
- SVN Repository

##### Project Documentation

- About
- Project Info
- Project Reports
  - Checkstyle
  - Changes
  - Change Log
  - File Activity
  - Developer Activity
  - JavaDocs
  - JavaDoc Report
  - JavaDoc Warnings Report
  - Source Xref
  - Test Xref
  - Unit Tests
  - PMD Report
  - Simian Report
  - FAQs
  - JCoverage
- Development Process

##### Commons

- Home
- Components
- Sandbox
- Dormant
- Volunteering
- Contributing Patches
- Building Components
- Releasing Components
- Wiki

##### Legend

- External Link
- Opens in a new window

## Release History

Version | Date | Description
--- | --- | ---
1.3.0 | 2006-03-24 | see http://wiki.apache.org/jakarta-commons/ValidatorVersion130
1.2.0 | 2005-11-15 | see http://wiki.apache.org/jakarta-commons/ValidatorVersion120
1.1.4 | 2004-11-12 | Minor maintenance release.
1.1.3 | 2004-08-25 |
1.1.2 (alpha) | 2004-04-03 |
1.1.1 (alpha) | 2003-12-15 |
1.1.0 (alpha) | 2003-08-26 |

Get the RSS feed of the last changes

## Release 1.3.0 - 2006-03-24

Type | Changes | By
--- | --- | ---
| ValidatorResult only contains last run dependency for the field. Fixes 38678. Thanks to bart vandendriessche. | niallp
| Validator argument - resource="false" ignored for arg0 - arg3. Fixes 38798. Thanks to Rostislav Palivoda. | niallp
| Change JavaScript validators to cater for disabled being undefined (an issue in Netscape 4.7). Fixes 38581. Thanks to Yugandhar. | niallp
| Add new routines package containing standard validations - first step in the process of clearly separating standard validation functions which can be used independantly, from the framework aspect of Commons Validator. New validators added for Date, Time, Calendar, Byte, Short, Integer, Long, Float, Double, BigInteger, BigDecimal, Currency and Percent. See Routines Package JavaDocs | niallp
| Deprecate ValidatorResult's getActionMap() and add getActions() method to provide an Iterator of the set of action names. Fixes 37704. | niallp
| Use the Dojo/Rhino JavaScript compressor to created compressed versions of the static JavaScript files. Additionally create single file distros of all the static JavaScript in un-compressed and compressed format. See Dojo/Rhino Compressor . Fixes 37580. Thanks to Michael Rush. | niallp
| Prefix remaining JavaScript utility methods with "jcv_" to reduce the likelihood of clashes with other libraries - validator still needs to be properly namespaced (as per Bug 38184). | niallp
| Change JavaScript validators so that they don't fail when the field is not present on the form. Fixes 14471. Thanks to Andrew Berridge and Paul Benedict . | niallp
| Fix min/max length validation for different line endings. Fixes 37962. Thanks to Alan Olmanson. | niallp
| Fix email validator to not allow spaces at the end of the user component or start of the domain component. Fixes 38051. Thanks to Stephanie Codron. | niallp
| Added validator_1_3_0.dtd and changed form rules so that a minimum of one field is no longer required (i.e. changed (field+) to (field*) for a form). Fixes 37975. Thanks to Neale. | niallp
| Resolve issue in JavaScript validation when the prototype library is used. Fixes 37134. Thanks to Philippe Mouawad. | niallp
| Re-factor JavaScript error handling into a common method and only set focus on fields which are not 'hidden' type or hidden by CSS. Fixes 21043 and 32476 . Thanks to Matt Bathje and Paul Benedict . | niallp
| Remove static Log instances to avoid problems if deployed via a shared classloader in a container. See here for more details. | niallp
| Reverse change for to Credit Card Validator for visa card blue in France. Fixes 35926. | niallp
| Fix JavaScript validation for Internet Explorer 5.0. Fixes 38159. Thanks to Kristian L. Petersen. | niallp

## Release 1.2.0 - 2005-11-15

Type | Changes | By
--- | --- | ---
| Added ISBNValidator for validating book numbers. Fixes 31489. | dgraham
| Upgrade dependency versions to Commons BeanUtils 1.7.0, Commons Digester 1.6 and Commons Logging 1.0.4. Remove dependency on Commons Collections (BeanUtils 1.7.0 has removed its dependency on Collections by including the few Collections classes required in its distribution). | dgraham
| Add support for min or max numeric values. Fixes 29015. | husted
| Allow validators to register errors for multiple fields. Fixes 29151. | husted
| Fixed EmailValidator failing on valid email addresses. Fixes 23990. | husted
| Allow forms to inherit validation rules from other forms. Fixes 27870. | rleland
| Remove the need to specify an Arguement's position. Fixes 31194. | niallp
| Deprecated all FastHashMap usage and provided protected get methods that return generic Maps to be used by subclasses. Fixes 29815. | dgraham
| Handling of float and double should use the locale object. Fixes 34198 and 21282 . | mrdon
| More informative Exception message when validation method not found. Fixes 27471. | mrdon
| Client-side required validation inconsistent with server-side. Fixes 15912. | mrdon
| EmailValidator allows apostrophes in domain name. Fixes 29541. | mrdon
| Changing the strategy for locating form name/id, now use a common util ity function which works in both IE and Firefox. Fixes 35127 and 32760 . | mrdon
| Validation fails when "name" attribute in form not specified. Fixes 35294 and 31534 . | mrdon
| UrlValidator fails http://www.google.com. Fixes 30686. | mrdon
| Email: inexisting dashes and TLD erroneously accepted. Fixes 33409 and 31644 . | mrdon
| Float validator can't validate the string with several dot. Fixes 32351. | mrdon
| CreditValidator does not handle Visa correctly. Fixes 35926. | mrdon
| datePattern not supported by JavaScript. Fixes 22384. | mrdon
| validateRequired on a single radio button. Fixes 33047. | mrdon
| Field.validate() cannot be invoked from user-defined code. Fixes 35508. | mrdon
| Locale validation doesn't validate all fields. Fixes 30955 and 16920 . | mrdon
| XML file included into validation.xml via entity reference not found. Fixes 27258. | mrdon
| Update maven build to Include DTDs and xdocs in the source distribution. Fixes 31094. | niallp
| Remove logging of exceptions when the Date validation fails (correctly) with an invalid date. | niallp
| Add version 1.1.3 of the DTD from the VALIDATOR_1_1_2_BRANCH an d change digester rules so that the old arg0-arg3 values are not ignored for versions of the DTD prior to 1.2.0. | niallp
| Add 'resource' and 'bundle' elements to the 1.2.0 DTD. Fixes 32522. | niallp
| Provide access to the result object in ValidatorResult. Fixes 27671. | niallp
| Validation breaks on multiple validation.xml (eg. with Struts 1.3). Fixes 36899. | niallp
| GenericTypeValidator does not accept negative Floats/Doubles. Fixes 36878. | niallp
| correct UrlValidator JavaDoc. Fixes 37192. | niallp
| Search the locale 'hierarchy' of formsets for a Form. Fixes 37310. | niallp
| Int validation in Java and Javascript have different semantics. Fixes 37300. | niallp
| Javascript Validation currently uses unsupported DOM method getAttributeNode(). Fixes 37315. | niallp

## Release 1.1.4 - 2004-11-12

Type | Changes | By
--- | --- | ---
| Added getMessage(key) and getMessages() methods to Field Fixes 29452. | niallp
| Added resource property (including getter/setter) to Msg to support the 'resource' attribute specified in the DTD. | niallp

## Release 1.1.3 - 2004-08-25

Type | Changes | By
--- | --- | ---
| Fixed javascript file reading in Java WebStart environment. Fixes 28257. | dgraham
| Fixed javascript email domain length limited to 2 or 3 chars. Fixes 29532. | mrdon

## Release 1.1.2 (alpha) - 2004-04-03

Type | Changes | By
--- | --- | ---
| Javascript validation doesn't work if a form field is called "name". Fixes 27899. | rleland
| Allow multiple forms to be on the same page by generating a unique variable name based on form name. Fixes 17667. | rleland
| Validate file extensions for file uploads. Fixes 26585. | rleland
| Add Support for hidden fields in javascript validations. Fixes 26584. | rleland
| The framework will convert checked exceptions into ValidatorExceptions so any ValidatorException thrown out of the framework indicates a 'system' exception that stops validation processing. If a pluggable validation method throws a ValidatorException it will be rethrown and passed out of the framework. Any other exception from a pluggable validation method is still considered a validation failure rather than a system exception to maintain backwards compatibility. Fixes 24369. | dgraham
| Added a more flexible card validation system that doesn't require CreditCardValidator to support every brand of credit card. Fixes 25869. | dgraham
| Throw RuntimeException if clone fails instead of InternalError. | dgraham
| Added Flags.clear(). | dgraham

## Release 1.1.1 (alpha) - 2003-12-15

Type | Changes | By
--- | --- | ---
| Add javadoc to javascript, and use jsdoc to process it. | rleland
| Ignore validation criteria when field is disabled for all field types. | rleland
| Add required check for single checkbox. | rleland
| Let max/min length also cover passwords fields. Don't use these for checking login pages, only when the user is modifying the password. | rleland
| Added Field.getArgs(String) to make it easier to retrieve all of the Args for a given validator. | dgraham
| Modify javascript to honor datapattern option. | rleland
| Add ability of required to handle checkboxes, radio, select-one, and select-multiple field types. | rleland
| Add ability to use required condition on array types like checkboxes. | rleland

## Release 1.1.0 (alpha) - 2003-08-26

Type | Changes | By
--- | --- | ---
| Move Digester rule configuration to XML file and remove ValidatorResourcesInitializer. ValidatorResources now knows how to initialize itself. | dgraham
| Clean up scopes of methods and variables. | dgraham
| Make Arg system more flexible to allow any number of args in a message. | dgraham
| Validate validation.xml files while initializing a Validator to alert developers to configuration errors. | dgraham
| Refactored `GenericValidator` methods i nto reusable objects. These include: CreditCardValidator, EmailValidator, DateValidator, and UrlValidator. | dgraham
| Backwards Incompatible Changes < msg > 's name and key attributes are now required. The Validator code was enforcing this constraint so now it's formally defined in the DTD. | dgraham
| Deprecated items; see the javadoc for details and replacements. The < arg0-3 > elements have been replaced with a single < arg > element with a new `position` attribute. Setting position to 0 is the equivalent of an < arg0 > element. `Arg.getResource()` `CreditCardValidator.isValidPrefix()` `Field.ARG_DEFAULT` `Field.hDependencies` `Field.hArg0 - Field.hArg3` `Field.addArg0() - Field.addArg3()` `Field.getArg0() - Field.getArg3()` `Field.addVarParam()` `Field.process()` `Field.processMessageComponents()` `Field.getDependencies()` `Form.getFieldMap()` `Form.process()` `FormSet .addConstant()` `FormSet.addConstantParam()` `FormSet.getForm(Object)` `FormSet.process()` `GenericValidator.REGEXP_DELIM` `GenericValidator.validateCreditCardLuhnCheck()` `GenericValidator.validateCreditCardPrefixCheck()` `GenericValidator.getDelimittedRegExp()` `Validator.BEAN_KEY` `Validator.VALIDATOR_ACTION_KEY` `Validator.FIELD_KEY` `Validator.VALIDATOR_KEY` `Validator.LOCALE_KEY` `Validator.hResources` `Validator.addResource()` `Validator.getResource()` `ValidatorAction.process()` `ValidatorAction.getDependencies()` `ValidatorResources.put()` `ValidatorResources.addConstant()` `ValidatorResources.addConstantParam()` `ValidatorResources.get()` `ValidatorResources.processForms()` `ValidatorResourcesInitializer` `ValidatorResult.getValid()` `ValidatorResults.empty()` `ValidatorResults.get()` `ValidatorResults.properties()` `ValidatorUtil` | dgraham