You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by ni...@apache.org on 2006/01/09 00:05:36 UTC

svn commit: r367118 - in /jakarta/commons/proper/validator/trunk: conf/share/validator_1_2_1.dtd src/share/org/apache/commons/validator/ValidatorResources.java xdocs/changes.xml

Author: niallp
Date: Sun Jan  8 15:05:25 2006
New Revision: 367118

URL: http://svn.apache.org/viewcvs?rev=367118&view=rev
Log:
Fix for Bug 37975 - Added validator_1_2_1.dtd and changed form rules so that a minimum of one field is no longer required - suggested by Neale

Added:
    jakarta/commons/proper/validator/trunk/conf/share/validator_1_2_1.dtd   (with props)
Modified:
    jakarta/commons/proper/validator/trunk/src/share/org/apache/commons/validator/ValidatorResources.java
    jakarta/commons/proper/validator/trunk/xdocs/changes.xml

Added: jakarta/commons/proper/validator/trunk/conf/share/validator_1_2_1.dtd
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/validator/trunk/conf/share/validator_1_2_1.dtd?rev=367118&view=auto
==============================================================================
--- jakarta/commons/proper/validator/trunk/conf/share/validator_1_2_1.dtd (added)
+++ jakarta/commons/proper/validator/trunk/conf/share/validator_1_2_1.dtd Sun Jan  8 15:05:25 2006
@@ -0,0 +1,233 @@
+<!--
+    DTD for the Validator Rules Configuration File, Version 1.2.1
+
+    To allow for XML validation of your rules configuration
+    file, include the following DOCTYPE element at the beginning (after
+    the "xml" declaration):
+
+    <!DOCTYPE form-validation PUBLIC
+     "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.2.1//EN"
+     "http://jakarta.apache.org/commons/dtds/validator_1_2_1.dtd">
+
+    $Id$
+-->
+
+
+
+<!--
+     The "form-validation" element is the root of the configuration file
+     hierarchy, and contains nested elements for all of the other
+     configuration settings.
+-->
+<!ELEMENT form-validation (global*, formset*)>
+
+
+<!--
+    The elements defined here are all global and must be nested within a
+    "global" element.
+-->
+<!ELEMENT global (validator*, constant*)>
+
+
+<!--
+     Defines what validator objects can be used with
+     the fields referenced by the formset elements.
+     elements:
+       validator         Defines a new validatior
+       javascript        The javascript source code for client side validation.
+     attributes:
+         name            The name of this validation
+         classname       The java class name that handles server side validation
+         method          The java method that handles server side validation
+         methodParams    The java class types passed to the serverside method
+         msg             a generic message key to use when this validator fails.
+                         It can be overridden by the 'msg' element for a specific field.
+         depends         The comma-delimited list of validator that are called before this validator.
+                         For this validation to succeed, all the listed validators must succeed.
+         jsFunctionName  The name of the javascript function which returns all fields of a certain type.
+         jsFunction      The name of the javascript function which is passed the form for validation.
+
+-->
+<!ELEMENT validator (javascript?)>
+<!ATTLIST validator name CDATA #REQUIRED>
+<!ATTLIST validator classname CDATA #REQUIRED>
+<!ATTLIST validator method CDATA #REQUIRED>
+<!ATTLIST validator methodParams CDATA #REQUIRED>
+<!ATTLIST validator msg CDATA #REQUIRED>
+<!ATTLIST validator depends CDATA #IMPLIED>
+<!ATTLIST validator jsFunctionName CDATA #IMPLIED>
+<!ATTLIST validator jsFunction CDATA #IMPLIED>
+
+
+
+<!--
+     Defines a JavaScript that can be used to perform
+     client-side validators.
+-->
+<!ELEMENT javascript (#PCDATA)>
+
+
+<!--
+     Defines a static value that can be used as
+     replacement parameters within "field" elements. The "constant-name" and
+     "constant-value" elements define the constant's reference id and replacement
+     value.
+-->
+<!ELEMENT constant (constant-name, constant-value)>
+<!ELEMENT constant-name  (#PCDATA)>
+<!ELEMENT constant-value (#PCDATA)>
+
+
+<!--
+      Defines a set of forms for a locale. Formsets for
+      specific locales can override only those fields that change. The
+      localization is properly scoped, so that a formset can override just the
+      language, or just the country, or both.
+-->
+<!ELEMENT formset (constant*, form+)>
+<!ATTLIST formset language CDATA #IMPLIED>
+<!ATTLIST formset country CDATA #IMPLIED>
+<!ATTLIST formset variant CDATA #IMPLIED>
+
+
+<!--
+     Defines a set of fields to be validated. The name
+     corresponds to the identifier the application assigns to the form. 
+-->
+<!ELEMENT form (field*)>
+<!ATTLIST form name CDATA #REQUIRED>
+<!ATTLIST form extends CDATA #IMPLIED>
+ 
+
+
+<!--
+     Defines the properties to be validated. In a
+     web application, a field would also correspond to a control on
+     a HTML form. To validate the properties, the validator works through
+     a JavaBean representation. The field element accepts these 
+     attributes:
+
+     property        The property on the JavaBean corresponding to this
+                     field element.
+
+     depends         The comma-delimited list of validators to apply against
+                     this field. For the field to succeed, all the
+                     validators must succeed.
+
+     page            The JavaBean corresponding to this form may include
+                     a page property. Only fields with a "page" attribute
+                     value that is equal to or less than the page property
+                     on the form JavaBean are processed. This is useful when
+                     using a "wizard" approach to completing a large form,
+                     to ensure that a page is not skipped.
+                     [0]
+
+     indexedListProperty
+                     The "indexedListProperty" is the method name that will
+                     return an array or a Collection used to retrieve the
+                     list and then loop through the list performing the
+                     validations for this field.
+
+-->
+<!ELEMENT field (msg|arg|var)*>
+<!ATTLIST field property CDATA #REQUIRED>
+<!ATTLIST field depends CDATA #IMPLIED>
+<!ATTLIST field page CDATA #IMPLIED>
+<!ATTLIST field indexedListProperty CDATA #IMPLIED>
+
+
+<!--
+     Defines a custom message key to use when one of the
+     validators for this field fails. Each validator has a default message
+     property that is used when a corresponding field msg is not specified.
+     Each validator applied to a field may have its own msg element.
+     The msg element accepts these attributes.
+
+      name        The name of the validator corresponding to this msg.
+      
+      bundle     The resource bundle name that the key should be resolved in.
+
+      key         The key that will return the message template from a
+                  resource bundle.
+
+      resource    If set to "false", the key is taken to be a literal
+                  value rather than a bundle key.
+                  [true]
+-->
+<!ELEMENT msg EMPTY>
+<!ATTLIST msg key CDATA #REQUIRED>
+<!ATTLIST msg name CDATA #REQUIRED>
+<!ATTLIST msg bundle CDATA #IMPLIED>
+<!ATTLIST msg resource CDATA #IMPLIED>
+
+
+
+<!--
+     Defines a replacement value to use with the
+     message template for this validator or this field.
+     The arg element accepts these attributes.
+
+      name        The name of the validator corresponding to this msg.
+      			  If not supplied, this argument will be used in the given 
+      			  position for every validator.
+      			  
+      bundle     The resource bundle name that the key should be resolved in.      			  
+
+      key         The key that will return the message template from a
+                  resource bundle.
+
+      resource    If set to "false", the key is taken to be a literal
+                  value rather than a bundle key.
+                  [true]
+
+      position    The position of this replacement parameter in the message.
+                  For example, position="0" will set the first argument.
+
+             N.B. Since 1.2.0 position is ignored for 'default' arguments
+                  (i.e. those with no 'name' supplied) - it is calculated
+                  automatically from the order the arguments are added in.
+                  For 'overriden' arguments (i.e. those with a 'name')
+                  it is optional. If 'position' is not supplied it will
+                  use the position of the 'default' argument it follows.
+-->
+<!ELEMENT arg EMPTY>
+<!ATTLIST arg key CDATA #REQUIRED>
+<!ATTLIST arg bundle CDATA #IMPLIED>
+<!ATTLIST arg name CDATA #IMPLIED>
+<!ATTLIST arg resource CDATA #IMPLIED>
+<!ATTLIST arg position CDATA #IMPLIED>
+
+<!--
+     The "var" element can set parameters that a field may need to pass to
+     one of its validators, such as the minimum and maximum values in a
+     range validation. These parameters may also be referenced by one of the
+     arg? elements using a shell syntax: ${var:var-name}.
+
+     N.B. resource ='true' indicates that the var-value is a resource key,
+          with the option to specify the bundle name. Validator doesn't do
+          anything itself with these values. Down-stream systems need
+          to resolve resource values.
+-->
+<!ELEMENT var (var-name, var-value, var-jstype?)>
+<!ATTLIST var resource CDATA #IMPLIED>
+<!ATTLIST var bundle CDATA #IMPLIED>
+
+
+
+<!--
+     The name of the var parameter to provide to a field's validators.
+-->
+<!ELEMENT var-name  (#PCDATA)>
+
+
+
+<!--
+     The value of the var parameter to provide to a field's validators.
+-->
+<!ELEMENT var-value (#PCDATA)>
+
+<!--
+     The javascript type. Possible Values [int|string|regexp] 
+-->
+<!ELEMENT var-jstype (#PCDATA)>
+

Propchange: jakarta/commons/proper/validator/trunk/conf/share/validator_1_2_1.dtd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jakarta/commons/proper/validator/trunk/conf/share/validator_1_2_1.dtd
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Modified: jakarta/commons/proper/validator/trunk/src/share/org/apache/commons/validator/ValidatorResources.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/validator/trunk/src/share/org/apache/commons/validator/ValidatorResources.java?rev=367118&r1=367117&r2=367118&view=diff
==============================================================================
--- jakarta/commons/proper/validator/trunk/src/share/org/apache/commons/validator/ValidatorResources.java (original)
+++ jakarta/commons/proper/validator/trunk/src/share/org/apache/commons/validator/ValidatorResources.java Sun Jan  8 15:05:25 2006
@@ -72,7 +72,9 @@
         "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN",
         "/org/apache/commons/validator/resources/validator_1_1_3.dtd",
         "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.2.0//EN",
-        "/org/apache/commons/validator/resources/validator_1_2_0.dtd"
+        "/org/apache/commons/validator/resources/validator_1_2_0.dtd",
+        "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.2.1//EN",
+        "/org/apache/commons/validator/resources/validator_1_2_1.dtd"
     };
 
     private transient Log log = LogFactory.getLog(ValidatorResources.class);

Modified: jakarta/commons/proper/validator/trunk/xdocs/changes.xml
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/validator/trunk/xdocs/changes.xml?rev=367118&r1=367117&r2=367118&view=diff
==============================================================================
--- jakarta/commons/proper/validator/trunk/xdocs/changes.xml (original)
+++ jakarta/commons/proper/validator/trunk/xdocs/changes.xml Sun Jan  8 15:05:25 2006
@@ -39,6 +39,11 @@
   <body>
 
     <release version="1.2.1 (alpha)" date="in SVN">
+      <action dev="niallp" type="add" issue="37975" due-to="Neale">
+         Added validator_1_2_1.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).
+      </action>
       <action dev="niallp" type="fix" issue="37134" due-to="Philippe Mouawad">
          Resolve issue in JavaScript validation when the prototype library
          is used.



---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org