org.apache.cocoon.acting
Class FormValidatorAction
java.lang.Object
|
+--org.apache.avalon.framework.logger.AbstractLoggable
|
+--org.apache.cocoon.acting.AbstractAction
|
+--org.apache.cocoon.acting.AbstractConfigurableAction
|
+--org.apache.cocoon.acting.ConfigurableComposerAction
|
+--org.apache.cocoon.acting.AbstractComplementaryConfigurableAction
|
+--org.apache.cocoon.acting.AbstractValidatorAction
|
+--org.apache.cocoon.acting.FormValidatorAction
- All Implemented Interfaces:
- Action, org.apache.avalon.framework.component.Component, org.apache.avalon.framework.component.Composable, org.apache.avalon.framework.configuration.Configurable, org.apache.avalon.framework.logger.Loggable, org.apache.avalon.framework.thread.ThreadSafe
- public class FormValidatorAction
- extends AbstractValidatorAction
- implements org.apache.avalon.framework.thread.ThreadSafe
This is the action used to validate Request parameters.
The parameters are described via the external xml
file (its format is defined in AbstractValidatorAction).
Variant 1
<map:act type="form-validator">
<parameter name="descriptor" value="context://descriptor.xml">
<parameter name="validate" value="username,password">
</map:act>
The list of parameters to be validated is specified as a comma
separated list of their names. descriptor.xml can therefore be used
among many various actions. If the list contains only of *
,
all parameters in the file will be validated.
Variant 2
<map:act type="form-validator">
<parameter name="descriptor" value="context://descriptor.xml">
<parameter name="validate-set" value="is-logged-in">
</map:act>
The parameter "validate-set" tells to take a given
"constraint-set" from description file and test all parameters
against given criteria. This variant is more powerful, more aspect
oriented and more flexibile than the previous one, becuase it
allows the comparsion constructs, etc. See AbstractValidatorAction
documentation.
For even more powerfull validation, constraints can be grouped
and used independently of the parameter name. If a validate element
has a rule
attribute, it uses the parameter with that
name as a rule template and validates the parameter from the
name
attribute with that rule.
This action returns null when validation fails, otherwise it
provides all validated parameters to the sitemap via {name}
expression.
In addition a request attribute
org.apache.cocoon.acting.FormValidatorAction.results
contains the validation results in both cases and make it available
to XSPs. The special parameter "*" contains either the validation
result "OK", if all parameters were validated successfully, or
"ERROR" otherwise. Mind you that redirections create new request
objects and thus the result is not available for the target
page.
All values for a parameter are read through the
getParameterValues() method and validated seperately.
- Version:
- CVS $Id: FormValidatorAction.java,v 1.8.2.3 2002/08/25 09:12:09 haul Exp $
- Author:
- Martin Man, Christian Haul
Fields inherited from interface org.apache.cocoon.acting.Action |
ROLE |
Method Summary |
java.util.Map |
act(Redirector redirector,
SourceResolver resolver,
java.util.Map objectModel,
java.lang.String src,
org.apache.avalon.framework.parameters.Parameters parameters)
Main invocation routine. |
Methods inherited from class org.apache.avalon.framework.logger.AbstractLoggable |
getLogger, setLogger, setupLogger, setupLogger, setupLogger |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.apache.avalon.framework.configuration.Configurable |
configure |
FormValidatorAction
public FormValidatorAction()
act
public java.util.Map act(Redirector redirector,
SourceResolver resolver,
java.util.Map objectModel,
java.lang.String src,
org.apache.avalon.framework.parameters.Parameters parameters)
throws java.lang.Exception
- Main invocation routine.
- Following copied from interface:
org.apache.cocoon.acting.Action
- Parameters:
resolver
- The SourceResolver
in chargeobjectModel
- The Map
with object of the
calling environment which can be used
to select values this controller may need
(ie Request, Response).source
- A source String
to the Actionparameters
- The Parameters
for this invocation- Returns:
- Map The returned
Map
object with
sitemap substitution values which can be used
in subsequent elements attributes like src=
using a xpath like expression: src="mydir/{myval}/foo"
If the return value is null the processing inside
the element of the sitemap will
be skipped.- Throws:
java.lang.Exception
- Indicates something is totally wrong
Copyright © 1999-2002 Apache Software Foundation. All Rights Reserved.