Dear Wiki user, You have subscribed to a wiki page or wiki category on "Jakarta-commons Wiki" for change notification.
The following page has been changed by NiallPemberton: http://wiki.apache.org/jakarta-commons/ValidatorVersion120 The comment on the change is: Add upgrade notes ------------------------------------------------------------------------------ + This page describes Changes in version 1.2.0 of Commons Validator (see section '''1. Changes''') and notes on Upgrading from Validator 1.1.4 (see section '''2. Upgrading'''). + ---- + = 1. Changes = - The aim of this page is to provide a summary of the changes in '''Validator 1.2.0'''. For a full list of the changes in Validator 1.2.0 see the [http://people.apache.org/~niallp/commons-validator/1.2.0-rc3/site/changes-report.html Changes Report]. + The aim of this section is to provide a summary of the changes in '''Validator 1.2.0''' - for a full list of the changes in this version see the [http://jakarta.apache.org/commons/validator/changes-report.html Changes Report]. - ---- - - == 1. Validator Inheritance == + == 1.1 Validator Inheritance == Probably the most significant change in Validator 1.2.0 is the introduction of ''inheritance'' which comes in two forms: * '''Explicit''' Form inheritance * '''Implicit''' ''Locale'' inheritance - === 1.1 Explicit Form Inheritance === + === 1.1.1 Explicit Form Inheritance === - Explicit Form Inheritance is where one [http://people.apache.org/~niallp/commons-validator/1.2.0-rc3/site/apidocs/org/apache/commons/validator/Form.html Form] can inherit from another by specifying the name of the form to inherit using the new '''extends''' property (which is also an new attribute in the [http://svn.apache.org/viewcvs.cgi/jakarta/commons/proper/validator/trunk/conf/share/validator_1_2_0.dtd?view=markup validator_1_2_0.dtd]). See [http://issues.apache.org/bugzilla/show_bug.cgi?id=27870 #27870]. + Explicit Form Inheritance is where one [http://jakarta.apache.org/commons/validator/apidocs/org/apache/commons/validator/Form.html Form] can inherit from another by specifying the name of the form to inherit using the new '''extends''' property (which is also an new attribute in the [http://svn.apache.org/viewcvs.cgi/jakarta/commons/proper/validator/trunk/conf/share/validator_1_2_0.dtd?view=markup validator_1_2_0.dtd]). See [http://issues.apache.org/bugzilla/show_bug.cgi?id=27870 #27870]. In the following example '''nameForm''' inherits from '''baseForm''', overriding the '''lastName''' field... @@ -33, +34 @@ </formset> }}} - === 1.2 Implicit Locale Inheritance === + === 1.1.2 Implicit Locale Inheritance === Prior to Validator 1.2.0, forms defined in different '''!FormSet''''s (i.e. different ''Locales'') were treated completely separtely. Now Forms with the same name ''implicitly'' inherit from those in ''less specific'' locales. For example, if you have a form named !CustomerForm defined in a !FormSet for the '''French''' language (no country) and also in a !FormSet for the '''Candian French''' locale then the ''Candian French'' version of the Form will inherit from the ''French'' one. @@ -42, +43 @@ '''N.B.''' See Section '''2. Variables in Resource Bundles''' which may remove your need to have multiple !FormSet's for different locales altogether. - == 2. Variables in Resource Bundles == + == 1.2 Variables in Resource Bundles == One motivation for having different Form Sets was due to the fact that '''variable''' values needed to be different for different locales. Validator 1.2.0 has the facility to specify variable values in resource bundles which removes the need for multiple formsets in this instance - Two new properties have been added to [http://people.apache.org/~niallp/commons-validator/1.2.0-rc3/site/apidocs/org/apache/commons/validator/Var.html Variable] - '''resource''' and '''bundle'''. Setting '''resource''' to '''true''' (default is ''false'') indicates that the variable's value is a ''resource key''. Additionally the (optional) '''bundle''' property can be set to the name of an alternative resource bundle. + Two new properties have been added to [http://jakarta.apache.org/commons/validator/apidocs/org/apache/commons/validator/Var.html Variable] - '''resource''' and '''bundle'''. Setting '''resource''' to '''true''' (default is ''false'') indicates that the variable's value is a ''resource key''. Additionally the (optional) '''bundle''' property can be set to the name of an alternative resource bundle. In the following example the value of '''datePattern''' variable is specified in the '''validatorVariables''' bundle under a key of '''dateOfBirth.pattern'''. @@ -66, +67 @@ '''N.B.''' Validator provides the facility to indicate that a variable's value is in a resource bundle - but it is down to individual configured validators to actually take notice of these properties and retrieve the value from the resource bundle. Struts 1.3 has been upgraded to take advantage this feature and is an example of what custom validators need to do. See the Struts [http://svn.apache.org/viewcvs.cgi/struts/core/trunk/src/java/org/apache/struts/validator/FieldChecks.java?view=markup FieldChecks] class. - == 3. Arg0-Arg3 Deprecations Removed == + == 1.3 Arg0-Arg3 Deprecations Removed == A number of deprecations have been removed in Validator 1.2.0 - however probably the biggest impact will be the '''Arg0-Arg3''' elements (which were replaced by '''Arg'''). So for example, in the validator config... @@ -83, +84 @@ Additionally, this issue only arises if you upgrade to the new version of the Validator DTD - previous versions of the DTD using arg0-arg3 will continue to work in Validator 1.2.0. - == 4. Changes to Validators == + == 1.4 Changes to Validators == A few new validators have been added: @@ -106, +107 @@ * '''Required''' validator fixed for [http://issues.apache.org/bugzilla/show_bug.cgi?id=15912 Bug 15912] and [http://issues.apache.org/bugzilla/show_bug.cgi?id=33047 Bug 33047] * '''Date''' validator enhanced to support ''datePattern'' - see [http://issues.apache.org/bugzilla/show_bug.cgi?id=22384 Bug 22384] - == 5. Dependency Changes == + == 1.5 Dependency Changes == The following changes to validator's dependencies have occured: * [http://jakarta.apache.org/commons/beanutils/ Commons BeanUtils] - upgraded from version 1.6.1 to version 1.7.0 @@ -115, +116 @@ * [http://jakarta.apache.org/commons/digester/ Commons Logging] - upgraded from version 1.0.3 to version 1.0.4 '''N.B.''' [http://jakarta.apache.org/commons/beanutils/ Commons BeanUtils] 1.7.0 removed its dependency on [http://jakarta.apache.org/commons/collections/ Commons Collections] by including the few required Collections classes in its distribution. This is why Validator 1.2.0 no longer has a dependency on Collections - Collection's classes used by Validator are in BeanUtils 1.7.0. + ---- + = 2. Upgrading = + This section describes upgrading from validator 1.1.4. + == 2.1 Deploying jars == + Obvious, but don't forget to deploy the new Validator 1.2.0 jar and also upgrade to new versions of dependency jars for !BeanUtils, Digester and Logging (see section 1.5 above). + + == 2.2 New DTD version == + There is a new version of the validator DTD: [http://svn.apache.org/viewcvs.cgi/jakarta/commons/proper/validator/trunk/conf/share/validator_1_2_0.dtd?view=markup validator_1_2_0.dtd]. However the previous version of the DTD ([http://svn.apache.org/viewcvs.cgi/jakarta/commons/proper/validator/trunk/conf/share/validator_1_1_3.dtd?view=markup validator_1_1_3.dtd]) will continue to work and there is no requirement to upgrade. + + Upgrading your system to use [http://svn.apache.org/viewcvs.cgi/jakarta/commons/proper/validator/trunk/conf/share/validator_1_2_0.dtd?view=markup validator_1_2_0.dtd] has the following consequences: + * You will be able to use the new features that depend on the attributes that have been added to the DTD. + * If your validation.xml files uses the ar0-arg3 elements - these will need to be replaced with "arg" - see the section '''''1.3 Arg0-Arg3 Deprecations Removed''''' above. + + NOT Upgrading your system to use [http://svn.apache.org/viewcvs.cgi/jakarta/commons/proper/validator/trunk/conf/share/validator_1_2_0.dtd?view=markup validator_1_2_0.dtd] has the following consequences: + * You won't be able to use (some of) the new features which depend on new elements in the DTD. + + == 2.3 Struts Users == + + === 2.3.1 Struts 1.2.x === + * Validator 1.2.0 can be deployed with Struts 1.2.x to take advantage of the new features(except one, see below). + * In Struts 1.2.7 Javascript validation doesn't work in XHTML mode (see [http://issues.apache.org/bugzilla/show_bug.cgi?id=35127 Bug 35127]) - resolving this bug requires upgrading to Struts 1.2.8 (hopefully soon to be released) and Validator 1.2.0 + * The '''''Variables in Resource Bundles''''' feature described in section 1.2 above does not work in Struts 1.2.x - this requires Struts 1.3 + + === 2.3.2 Struts 1.3 === + Struts 1.3 is dependant on Validator 1.2.0 and fully supports all the fetures described above. + --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]